如何在jQuery提交中发送表单值而不将其放在表单中?

时间:2012-10-08 20:19:55

标签: php jquery ajax forms

我在页面上有多个具有相同字段的表单:

<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="p3" value="2">
<input type="hidden" name="t3" value="D"> 

每个提交按钮和表单操作都不同。有没有办法在JQuery提交中发送这些数据,这样我就不必为每个表单复制8次了?

2 个答案:

答案 0 :(得分:1)

在提交给定表单时如何将它们附加到表单中?

$("form").on("submit", function(){
   $(this).append('<input type="hidden" name="cmd" value="_s-xclick">')
   $(this).append('<input type="hidden" name="p3" value="2">')
   $(this).append('<input type="hidden" name="t3" value="D">')
});

http://api.jquery.com/submit/

http://api.jquery.com/append/

答案 1 :(得分:0)

您可以在帖子发生之前添加值

<form id="form1" onsubmit="add_values('form1');">
...
</form>
<form id="form1" onsubmit="add_values('form2');">
...
</form>

<script>
    function add_values(formid) {
        var input1 = $("<input>").attr("type", "hidden").attr("name", "cmd").val("_s-xclick");
        var input2 = $("<input>").attr("type", "hidden").attr("name", "p3").val("2");
        var input3 = $("<input>").attr("type", "hidden").attr("name", "t3").val("D");
        $('#'+formid).append($(input1));
        $('#'+formid).append($(input2));
        $('#'+formid).append($(input3));
        $('#'+formid).submit();
    }
</script>