[jquery] jQuery-제출시 추가 매개 변수 추가 (아약스 아님)

jQuery의 ‘제출’을 사용하면 추가 매개 변수를 양식에 전달할 수 있습니까? Ajax 로이 작업을 수행하려고하지 않습니다. 이것은 정상적인 새로 고침 양식 제출입니다.

$('#submit').click(function () {
    $('#event').submit(function () {
        data: { 
        form['attendees'] = $('#attendance').sortable('toArray').toString();
    });
});



답변

이것은 나를 위해 그것을했다 :

var input = $("<input>")
               .attr("type", "hidden")
               .attr("name", "mydata").val("bla");
$('#form1').append(input);

Daff의 답변을 기반으로하지만 NAME 속성을 추가하여 양식 모음에 표시하고 VALUE를 VAL로 변경했습니다. 또한 FORM의 ID를 확인했습니다 (제 경우에는 form1)

Firefox firebug를 사용하여 요소가 삽입되었는지 확인했습니다.

숨겨진 요소는 양식 모음에 다시 게시되며 읽기 전용 필드 만 삭제됩니다.

미셸


답변

귀하의 경우 양식에 다른 숨겨진 필드를 동적으로 추가하는 것으로 충분합니다.

var input = $("<input>").attr("type", "hidden").val("Bla");
$('#form').append($(input));


답변

이것을 사용할 수도 있습니다. 나를 위해 잘 일했다

$("#registerform").attr("action", "register.php?btnsubmit=Save") 
$('#registerform').submit();

이것은 btnsubmit = GET 값으로 저장을 register.php 양식에 제출합니다.


답변

숨겨진 필드를 양식에 추가 할 수있는 jQuery 함수를 작성할 수 있습니다.

// This must be applied to a form (or an object inside a form).
jQuery.fn.addHidden = function (name, value) {
    return this.each(function () {
        var input = $("<input>").attr("type", "hidden").attr("name", name).val(value);
        $(this).append($(input));
    });
};

제출하기 전에 숨겨진 필드를 추가하십시오.

var frm = $("#form").addHidden('SaveAndReturn', 'Save and Return')
                    .submit();


답변

제출 단추를 클릭하여 제출 이벤트를 바인드 할 필요는 없습니다. 제출 이벤트를 바인드하면 제출 이벤트가 트리거되는 방식에 상관없이 제출 이벤트를 캡처합니다.

당신이 원하는 것은 아약스를 통해 원하는 것처럼 정렬 가능한 것을 제출하는 것입니다. 다음과 같이 해보십시오 :

var form = $('#event').submit(function () {
    $.each($('#attendance').sortable('toArray'),function(i, value){
        $("<input>").attr({
            'type':'hidden',
            'name':'attendace['+i+']'
        }).val(value).appendTo(form);
    });
});


답변

비슷한 대답이지만 방금 쉽고 빠른 테스트를 위해 사용하고 싶었습니다.

var input = $("<input>")
               .attr("name", "mydata").val("go Rafa!");

$('#easy_test').append(input);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>



<form id="easy_test">

</form>


답변