提交表单后返回false

3
$('#form').submit(function(e){

      e.preventDefault();

      $.ajax({
       //ajax stuff
            success: functtion(data){
                 //do stuff with data, then submit form

                 $('#form').submit(); // <-- this wont submit the form
            }
       });
});

我的ajax调用完成后,我该如何提交这个表单?
4个回答

5

您在这里有一个拼写错误:functtion

那么可以尝试以下方法,创建对表单本身的引用,使用原生的submit()方法,该方法可用于form元素。

$('#form').submit(function(e){

    e.preventDefault();
    var form = this;

    $.ajax({
    //ajax stuff
        success: function(data){
             ...
             form.submit();
        }
    });
});  

是的,谢谢。我不知道 jQuery 方法实际上没有提交表单。谢谢。 - Johan

2

使用原生的 submit 方法:

document.getElementById("form").submit();
// with jQuery:
$("#form")[0].submit();

1

有一个ID为btnSubmit的按钮,点击该按钮时执行以下代码...

$('#btnSubmit').click(function(e){
      $.ajax({
       //ajax stuff
            success: functtion(data){
                 //do stuff with data, then submit form

                 $('#form').submit(); // <-- this will submit the form
            }
       });
});

你不能仅通过点击按钮来提交表单 - 这会大大改变功能。 - Bergi

1

如需原样提交,请使用此代码:

if ($('#form').length == 1)
    $('#form')[0].submit();

jQuery对象的.submit()方法并不是DOM元素本身的.submit()方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接