即使jQuery submit()函数返回false,Drupal表单也会继续被提交;

即使jQuery submit()函数返回false,Drupal表单也会继续被提交;,jquery,forms,drupal,drupal-6,validation,Jquery,Forms,Drupal,Drupal 6,Validation,我有一个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"> 无论我尝试什么,提交按钮总是提交表单。由于我返回false,我希望表单忽略提交过程并完全取消 为什么即使表单的submit()函数

我有一个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"> 
无论我尝试什么,提交按钮总是提交表单。由于我返回false,我希望表单忽略提交过程并完全取消

为什么即使表单的submit()函数返回“return false”,表单仍继续提交?

这是一个简单的示例,我在代码中简化了它,强制表单上的submit始终返回false,因此永远不应该提交

删除
input type=“submit”

如果您根本不想提交表单,则可以使用或

您可以使用
event.preventDefault();
也可以防止表单提交的默认操作


希望这些备选方案能对您有所帮助。

不久前我回答了一个类似的问题。检查

解决方案是应用
event.preventDefault()
event方法。不要忘记通过函数传递事件

e、 g


根据调试的结果并遵循进入jQuery的代码路径,调用“return false”应该在jQuery核心代码的下游调用event.preventDefault。这里有一个链接,链接到一篇在线文章,也涉及到这个话题。说得好,迈克!该链接提到了以下内容,详细介绍了这些内容,非常好!
<input type="submit" name="op" id="edit-submit-1" value="Submit"  class="form-submit" />
jQuery("#webform-client-form-1148-1").submit(function(){return false;});
<input type="button" name="op" id="edit-submit-1" value="Submit"  class="form-submit" />
$('#edit-submit-1').click(function(){
        jQuery("#webform-client-form-1148-1").submit(function(){return false;});

});
jQuery("#webform-client-form-1148-1").submit(function(event){
   event.preventDefault();
});