我有一个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,因此,永远不应该提交。
答案 0 :(得分:3)
我不久前回答了类似的问题。查看Stop form from submitting when searching with jQuery
解决方案是应用event.preventDefault()
事件方法。不要忘记通过函数传递事件。
e.g。
jQuery("#webform-client-form-1148-1").submit(function(event){
event.preventDefault();
});
答案 1 :(得分:1)
删除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();
来阻止表单提交的默认操作。
希望这些替代方案可以帮助你。