验证不允许我的表单提交

时间:2018-06-06 07:42:07

标签: javascript html css validation

我目前正在创建一个自定义表单来向数据库提交数据但是我的目标是我不希望提交按钮工作,直到用户点击复选框以接受条款和条件,如果用户尝试提交没有点击复选框消息,下面弹出的是我用过的一段代码。但是,当我单击复选框并单击“提交”时,表单不会提交消息框,不断弹出复选框,上面写着“请表明您接受条款和条件”...不确定似乎是什么问题或者我我错过了什么。

  

 <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
            <a href="TermsPage.txt" style="color:green"><u><b >CLICK TO VIEW OUR TERMS AND CONDITIONS </b> </u></a>  &nbsp;
            <input id="field_terms" type="checkbox"  name="terms" />&nbsp;&nbsp;
            <script type="text/javascript">
            document.getElementById("field_terms").setCustomValidity("Please indicate that you accept the Terms and Conditions");
            </script>
            <br />
            <button type="button">Submit</button>
        </form>
    </body>
</html>

2 个答案:

答案 0 :(得分:1)

阻止表单提交。

这告诉浏览器在不选中复选框的情况下不允许提交表单。

&#13;
&#13;
  function checkForm(form)
  {

    if(!form.terms.checked) {
      alert("Please indicate that you accept the Terms and Conditions");
      form.terms.focus();
      return false;
    }
    return true;
  }
&#13;
<form onsubmit="return checkForm(this);">
<p><input type="checkbox" name="terms"> I accept the <u>Terms and Conditions Linked here</u></p>
<p><input type="submit"></p>
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

试试这段代码。它可能对你有帮助

<form method="POST" action="http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echo.cgi">
 <input type="checkbox" name="checkbox" value="check"  />
 <input type="submit" name="email_submit" value="submit" onclick="if(!this.form.checkbox.checked){alert('You must agree to the terms first.');return false}"  />
</form>