我有一个Drupal的形式,即使jQuery submit()函数返回false,Drupal表单也会继续提交;
<form action="/forms/contact.html" accept-charset="UTF-8" method="post" id="webform-client-form-1148-1" class="webform-client-form" enctype="multipart/form-data">
具有以下提交,
<input type="submit" name="op" id="edit-submit-1" value="Submit" class="form-submit" />
包含表单的页面加载以下jQuery的内联,
jQuery("#webform-client-form-1148-1").submit(function(){return false;});
不管我怎么努力,提交按钮总是提交表单。由于我返回false,我希望表单忽略提交过程并完全取消。
为什么表单继续提交,即使表单的submit()函数返回'return false'?
这是一个简单的例子,我在我的代码中强迫提交表单时总是返回false,因此不应该提交。
根据调试和跟踪到jQuery的代码路径,调用'return false'应该在jQuery核心代码中调用event.preventDefault下游。这里是一个到在线发布的帖子的链接,该帖子也涉及这个主题,http://css-tricks.com/6809-return-false-and-prevent-default/。 –
好点Mike!该链接提到以下内容,其中涉及更多细节http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/,非常棒的阅读! –