如果条件未经过验证,我会尝试提交表单。
<form action="http://www.google.com" method="post" id="support_form">
<p class="accept"><input type="checkbox" id="id_cgu" name="cgu" value="1"> I accept
<input type="submit" value="ok">
</form>
<script language="javascript">
$("#support_form").submit(function() {
if($("#id_cgu:checked").length==0) {
alert("{% trans "Vous must accept terms of services" %}");
return false;
} else {
alert('valid')
return true;
}
});
</script>
如果我的表单在第一次通话时有效,我的表单已经提交(重定向到另一页)
如果我的表单第一次无效,我更正了,我看到提示框“有效”,但我的表单未提交。
你对这个问题有所了解吗?
答案 0 :(得分:0)
这是因为您返回了false
。您应该使用stopImmediatePropagation();
,如下所示:
$("#support_form").submit(function(ev) {
if($("#id_cgu:checked").length==0) {
alert("{% trans "Vous must accept terms of services" %}");
ev.stopImmediatePropagation();
} //rest of code...
如果您返回false,则在重新加载页面之前,您实际上无法使该提交按钮无效。