表格未在第二次通话后提交

时间:2010-09-07 08:27:54

标签: javascript jquery

如果条件未经过验证,我会尝试提交表单。

    <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>

如果我的表单在第一次通话时有效,我的表单已经提交(重定向到另一页)

如果我的表单第一次无效,我更正了,我看到提示框“有效”,但我的表单未提交。

你对这个问题有所了解吗?

1 个答案:

答案 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,则在重新加载页面之前,您实际上无法使该提交按钮无效。