【问题标题】:How to submit one Form with jQuery bind-submit if i have multiple forms on page?如果页面上有多个表单,如何使用 jQuery bind-submit 提交一个表单?
【发布时间】:2012-10-24 10:42:45
【问题描述】:

我将 jQuery 的提交函数绑定到表单标签。这适用于一个表单,但如果我有多个表单,它会提交 Post 变量中所有表单的数据。

我怎样才能只提交一份表格?

$('form').bind('submit',function() {
    var data = $('form').serializeAnything();
    $.post('forms/form.ajax.submit.php',data,function(response) {
        ...
});

【问题讨论】:

  • 你需要自定义你的选择器:$('form').尝试为表单设置一个 ID,然后使用 $('form#ID'),或更复杂的 CSS 选择器(:first-child 等)

标签: jquery submit bind forms http-post


【解决方案1】:

为您的表单使用 ID,并将其用于数据变量。

var data = $('#this_form').serializeAnything();

或通过查找父表单来遍历,例如$(this).closest('form').serializeAnything();

【讨论】:

    【解决方案2】:
    var data;
    data=$('form1').serializeAnything();
    data+=$('form2').serializeAnything();
    data+=$('form3').serializeAnything();
    

    【讨论】:

      【解决方案3】:

      您可以使用选择器 id 或类来做到这一点。

      例如

      var data = $('#formID').serializeAnything();

      var data = $('.formCLASS').serializeAnything();

      【讨论】:

        【解决方案4】:

        你想要 $(this).serializeAnything(); 而不是 $('form').serializeAnything();(或者,如果 jQuery 的标准序列化函数可以做到,也许是 $(this).serialize();)。

        /* attach a submit handler to each form */
        $('form').submit(function (event) {
        
            /* stop form from submitting normally */
            event.preventDefault();
        
            /* get some values from elements on the page: */
            var $form = $(this),
                form_data = $form.serialize(),
                url = $form.attr('action');
        
            /* Send the data using post */
            var posting = $.post(url, form_data);
            console.log('finished ajax post');
        
            /* Put the results in a div */
            posting.done(function (data) {
                console.log('now load response');
                $('#result').empty().append( $(data) );
            });
        });
        

        a working example at http://jsfiddle.net/jhfrench/QjaTq/29/

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多