[英]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.