2014-07-11 1 views
1

양식 제출을 클릭하여 아약스가 아닌 게시물을 수행해야합니다. 제출하기 전에 몇 가지 추가 양식 매개 변수를 추가해야합니다. 여기에 내가이 어떻게 있습니다 :추가 매개 변수가있는 양식 (게시물, 아약스가 아님) 제출

$("#my_form").on("submit", function (e) { 
    e.preventDefault(); 
    var data = $(this).serializeArray(); 
    data.push({"name": "extra data1", "value": "extra value 1"}); 
    var params = $.param(data); 
    //what's next? 
    //$.post($(this).attr("action"), data: params); // ajax request, I don't need an ajax request 
    }); 

을하지만 그것 parametes 뿐만 아니라를 보낼 수 있도록 어떻게 실제로 양식을 제출 않지만, 추가 사람은 나뿐만 아니라 여기에 추가 한? 분명히 $(this).submit();은이 작업을 수행하지 않습니다.

답변

2

으로 jQuery를에서이 필드의 값을 변경할 수 있습니다, 당신이 추가하려면이 같은 somethig에 작업을 수행 할 수 있습니다 추측 귀하의 경우에는 Jquery - Create hidden form element on the fly

을 숨겨진 입력 :

$("#my_form").on("submit", function (e) { 

    $('<input>').attr({ 
     type: 'hidden', 
     name: 'extra data1', 
     value: 'extra value 1' 
    }).appendTo($(this)); 

}); 

DEMO : http://jsfiddle.net/naokiota/XyLUV/

,

또는이 같이 같은 일을 할 수있는 :

$("#my_form").on("submit", function (e) { 

    $('<input type="hidden" name="extra data1" value="extra value 1">') 
    .appendTo($(this)); 

}); 

DEMO :이 도움이 http://jsfiddle.net/naokiota/Kkq6F/1/

희망.

0

양식에서 데이터를 가져온 다음 데이터 구조를 조작하는 대신 제출하기 전에 숨겨진 입력 요소를 양식에 추가하기 만하면됩니다.

2

이렇게 숨겨진 입력을 사용할 수 있습니다. 추가

<INPUT TYPE='hidden' NAME='param1' VALUE='data1' ID='param1'> 

이 내용은 php에 제출됩니다.

당신은 당신이 SO 질문을 참조 할 수 있습니다

$('#param1').value = 'data12'; 
관련 문제