테스트 사이트 - 개발 중인 베타 버전입니다

form에 보내기전에 추가로 값을 넣어서 보낼수 있나요?

서잰션 4년 전 조회 4,100

</p>

<p><form onsubmit="fcheck(this)" action="주소" method="get"></p>

<p><input type="text" name="testing"></p>

<p><input type="submit"></p>

<p></form></p>

<p> </p>

<p> </p>

<p><script></p>

<p>function fcheck(e){</p>

<p>....</p>

<p> </p>

<p>}</p>

<p></script></p>

<p>

 

form으로 값을 보낼때 현재 form 안의 input태그인  testing말고 추가적으로 지정한값 (예를 들어 현재시간)같은걸 보낼 때 어떻게 적어야 할 지를 모르겠네요..

매번 hidden으로 숨켜서 값을 넣는것보다 form에서 보낼때 값을 추가하면 좋을거같아 질문드립니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

4년 전

form onsubmit="fcheck(this)" action="주소" method="get" onsubmit="return fcheck(this)">
<input type="text" name="testing">
<input type="submit">
</form>
 
 
<script>
function fcheck(f){
    f.action = f.action + '?current_time=' + '<?php echo date('His') ?>';
    
    return true; 

}
</script>

 

하지만 hidden 으로 넘기는 것이 더 권장되는 방법입니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

서잰션
4년 전
혹시 이유를 들을 수 있을까요? hidden을 왜 권장하시는지...?
웹페이지 소스에 왠만하면 안남길려고 하다볼려고 이것저것 시도하고 있는데 form에서 보낼 때 마르스컴퍼니님 처럼 적으면 어떤 문제가 생기나요??
마르스컴퍼니
4년 전
스크립트로 처리해도 소스보기하면 나옵니다.

히든 필드가 여러개인 경우가 있을 수 있는데.. (그누보드 쓰기 페이지 write.skin.php)
가독성 면에서 더 좋다고 볼 수 있습니다.

댓글을 작성하려면 로그인이 필요합니다.

<form에 id 하나를 추가하신 후에 아래처럼 하시면 되지 않을까요?

 

function fcheck(e) {

   $("#폼 아이디").append("<input type='hidden' name='test' value='111'>");

   ...

}

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

이진영
4년 전

원하시는 부분을 적용 하시려면 

AJAX 폼 전송 으로 하셔야 할 듯 합니다.

<form name="FormXXX" id="FormXXX" method=post enctype="multipart/form-data" autocomplete="off">

....

</form>

<button type='button'>전송</button>

<script>

    var ajax_InsertSubmit=function() {
        var form = $('form')[0];
        var formData = new FormData(form);

            formData.append('nowDate', '현재날짜');

        $.ajax({
            url: 'XXXX_update.php', //업데이트 php 문서 경로
            type: 'POST',
            data: formData,
            processData: false,
            contentType: false,
            dataType: 'json',
            async:true,
            success: function (data) {
                alert(data.msg);
            },
            error : function (data, status) {
                alert("데이타 접근에 실패 하였습니다.");
                return true;
            }
        });
    }


    if (confirm("등록 하시겠습니까?") == true){    //확인
        ajax_InsertSubmit()
        return false;
    }else{   //취소
        return;
    }

</script>

 

XXXX_update.php

<?php

....

$msg = "등록 되었습니다.";

 

die("{\"msg\":\"$msg\"}");

?>

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

i
4년 전

보통 form 에서 넘어온 뒤 php 상에서도 구현할수 있는것은 (현재시간 등) php 에서 구현하고

form 에서 받아야 하면 hidden 으로 처리합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인