jQuery阻止表单提交,然后在序列化后提交

时间:2014-07-15 16:46:07

标签: php jquery forms

我正在尝试使用jQuery执行以下操作:

  1. 阻止表单提交
  2. 将表单的某些元素序列化为数组
  3. 通过PHP提交表单。
  4. 到目前为止,这是我的jQuery;

    entrySubmit.on('click', initEntrySubmission);
    
    function initEntrySubmission(e) {
        e.preventDefault(); 
        var serializedProtocol = $("#protocolForm :input").serialize();
        console.log(serializedProtocol);
        $('#protocolValues').val(serializedProtocol);
        $('#entryForm').submit();
    
    }
    

    表单会阻止提交并正确序列化数组,但之后不会执行任何操作。提交部分似乎是唯一不起作用的部分。我在网上看到的所有文档都说使用最后一行,但没有骰子。

    我在这里错过了什么吗?

    感谢您的帮助, 尼克

1 个答案:

答案 0 :(得分:0)

您可以尝试以下内容

<form id="form1" action="test.php" method="post" onsubmit="return false;">
    <input name="name" type="text">
    <input name="name2" id="protocolValues" value="">
    <input type="submit" value="Submit" id="submit">
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $('#submit').click(function(){
        var serializedProtocol = $("#form1 :input").serialize();
        $('#protocolValues').val(serializedProtocol);
        $('#form1').removeAttr('onsubmit');
        $('#form1').submit();
    });
});
</script>
相关问题