jQuery – 表单不会使用jQuery提交
继续我的问题 – jQuery提交validation,最后是modal dialog?
似乎表单根本不会使用jQuery提交。 这是我非常简化的代码:
$(document).ready(function(){ $(document).click(function() { $('#inputform').submit(); }); $("#inputform").submit(function() { alert('test'); return true; }); }); <form method="POST" action="" id="inputform">
单击正文显示“测试”警报但不提交表单。 此外,关闭警告框后,再次单击时不会再次出现。
只需单击提交按钮本身即可显示警报,然后按预期提交表单。
对不起(我知道)一个非常愚蠢的问题,但我在这里不知所措。 TY!
问题是您已将提交按钮命名为“提交”。 把它改成其他任何东西,它都会起作用。 (还要更改id
,最好保持它们相同,尤其是因为某些浏览器问题 。)
原因:表单元素有一个名为submit
的属性,您可以调用它来提交它们。 (当你在jQuery实例上调用submit
时,jQuery使用它。)但是Form元素也使用字段的名称接收表单中每个字段的属性,所以如果你有一个名为“submit”的字段,那么覆盖 submit
function,这意味着您无法以编程方式提交表单。
工作示例: 实时复制 | 直播源
(重大变化是name="someOtherName" id="someOtherName"
部分。其他更改[更改表单的操作和方法]只是因此它适用于JSbin。)
旁注:你不必return true;
在您的submit
事件处理程序中,以允许表单提交。 你只需要不return false;
。 🙂