使用jquery提交表单不起作用

时间:2018-04-23 16:18:45

标签: javascript jquery

这是我的代码,尽可能简单:

<form action="">
  <input type="text">
  <input type="submit" value="submit">
</form>
$("form").submit(function(e){
  e.stopPropagation();
  e.preventDefault();
  e.submit(); // tried also: $(this).submit()
});

我在这里做错了什么?为什么不发送?

4 个答案:

答案 0 :(得分:2)

e.target.submit();

如果在native元素而不是jQuery元素上调用submit,则jQuery事件处理程序将被忽略。

答案 1 :(得分:1)

删除preventDefault,它会阻止表单提交。

$("form").submit(function(e){
    e.stopPropagation();
    //e.preventDefault();
    return true;
});

答案 2 :(得分:1)

您应该直接在表单上使用.submit()方法:

$("form").submit();

答案 3 :(得分:0)

现在编写代码的方式是处理表单的提交事件并尝试提交。如果你检查了e,你会发现它是一个事件而不是实际的形式。只需单击“提交”按钮即可提交表单。如果你想在提交之前预防并做某事,可以这样做:

<form action="" id="myForm">
  <input type="text">
  <input type="button" value="submit" id="myButton">
</form>

$("#myButton").click(function(){
  $(this).stopPropagation();
  $(this).preventDefault();

  //do what you need to do 

  $("#myForm").submit();
});

在您的原始代码中,如果您实际上在最后提交表单,则会导致无限循环。

相关问题