繁体   English   中英

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

[英]Drupal form continues to get submitted even if jQuery submit() function returns 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() function 返回了“return false”?

这是一个简单的例子,我在我的代码中简化了强制提交表单总是返回 false,因此永远不应该提交。

不久前我回答了一个类似的问题。 使用 jQuery 搜索时检查停止表单提交

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

例如

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

删除input type="submit"

<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;});

});

如果您根本不想提交表单,则可以使用unbind()die()

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

希望这些替代方案对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM