簡體   English   中英

表單驗證出現問題

[英]Trouble with form validation

我正在嘗試使用JavaScript驗證簡單表單,但是無法驗證腳本。 按下“提交”按鈕時,不會運行任何驗證。 如果其中一個框為空,則不會彈出錯誤消息來通知用戶。 但是,我沒有看到任何異常。 我想知道提交按鈕是否不起作用? 誰能伸出援手?

<DOCTYPE html PUBLIC "-//W3C//DTD  XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <head>
  <meta http-equiv="Content-Type"  content="text/html; charset=utf-8" />
  <title>LASTNAME: Warner Form Validation</title>
  <script type="text/javascript">
  function btnSubmit_onclick() {
     var myForm = document.formContact;
     if(myForm.txtAge.value == "" || myForm.txtName.value == "") {
        alert.("Please complete all of the fields.");
        if(myForm.txtName.vale == ""){
           myForm.txtName.focus();
        } else {
           myForm.txtAge.focus();
     } else{
        alert("Thank you for completing the form"+myForm.txtName.value);
     }
  }
  function txtAge_onblur() {
     var txtAge = document.formContact.txtAge;
     if(isNaN(txtAge.value) == true) {
        alert("Please Enter a Valid Age");
        txtAge.select();
    }
  function txtName_onchange(); {
     window.status = "Hi" + document.form1.txtName.value;
     docment.getElementById('greeting').innerHTML = "Hi" + document.frm1.txtName.value;
  }
  </script>
  </head>
  <body>
  <form action="" id="formContact" method="post" onsubmit="return validate();" name="formContact">
     <p>Name:<br />
        <input type="text" name="theName"><span class="err" id="nameErr"></span>
     </p>
     <p>Age:<br />
        <input type="text" name="theAge"><span class="err" id="ageErr"></span>
     </p>
     <p>
     <p>How may we contact you?<br>
        <input type="radio" name="contact" value="email">Email<br>
        <input type="radio" name="contact" value="no contact">No Contact<br>
     </p>
     <p><input type="button" value="Submit" name="btnSubmit" onclick="btnSubmit_onclick></p>
  </form>
  <span id="results"></span>
  </body>
</html>

您的代碼有很多錯別字。 這可行。

<DOCTYPE html PUBLIC "-//W3C//DTD  XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type"  content="text/html; charset=utf-8" />
<title>LASTNAME: Warner Form Validation</title>
<script type="text/javascript">
function btnSubmit_onclick() {
 var myForm = document.formContact;
 if(myForm.txtAge.value == "" || myForm.txtName.value == "") {
    alert("Please complete all of the fields.");
    if(myForm.txtName.vale == ""){
       myForm.txtName.focus();
    } else {
       myForm.txtAge.focus();
    }
 } else{
    alert("Thank you for completing the form"+myForm.txtName.value);
 }
}
function txtAge_onblur() {
 var txtAge = document.formContact.txtAge;
 if(isNaN(txtAge.value) == true) {
    alert("Please Enter a Valid Age");
    txtAge.select();
}
function txtName_onchange() {
 window.status = "Hi" + document.form1.txtName.value;
 docment.getElementById('greeting').innerHTML = "Hi" + document.frm1.txtName.value;
}
}
</script>
</head>
<body>
<form action="" id="formContact" method="post" onsubmit="return validate();" name="formContact">
 <p>Name:<br />
    <input type="text" name="txtName"><span class="err" id="nameErr"></span>
 </p>
 <p>Age:<br />
    <input type="text" name="txtAge"><span class="err" id="ageErr"></span>
 </p>
 <p>
 <p>How may we contact you?<br>
    <input type="radio" name="contact" value="email">Email<br>
    <input type="radio" name="contact" value="no contact">No Contact<br>
 </p>
 <p><input type="button" value="Submit" name="btnSubmit" onclick="btnSubmit_onclick()"></p>
</form>
<span id="results"></span>
</body>
</html>

但是請注意,您尚未在任何地方使用txtAge_onBlur或txtName_onChange函數。 我也建議對年齡字段添加數字檢查。

您有onsubmit="return validate();" 但是我在腳本的任何地方都看不到validate()

然后在腳本中有btnSubmit_onclck() ,而在HTML中有onclick="btnSubmit_onclick

因此它缺少一個i而在HTML中,您缺少了結尾"

您還需要檢查txtAge_onblurbtnSubmit_onclick上缺少的結束}

onclick="btnSubmit_onclick></p>

onclick="btnSubmit_onclick();"></p>

function btnSubmit_onclck() {

function btnSubmit_onclick() {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM