2017-08-07 122 views
-6

我正在尋找一些關於我正在處理的HTML表單的代碼。我試圖用它做的是,當我錯誤地填寫時,我試圖提醒三個必填字段。姓氏字段不能爲空,年齡必須在18到35之間,性別必須具有M,m,F,f的有效條款,其他任何值都將返回false並且不能留空。我無法弄清楚我的表單代碼有什麼問題

<html> 
<head> 
<title>Form</title> 
<meta charset="utf-8"> 
<script type="text/javascript"> 
<!-- 
function validateform(){ 
var age=document.myform.age.value; 
var sex=document.myform.sex.value; 
if (last == ""){ 
alert("Last name can't be blank."); 
return false;} 
if (age.value < 30){ 
return true; 
}else if (age.value < 18){ 
alert("You are not old enough to fill out the form.") 
return false;} 
if (sex == 'M' || sex == 'm' || sex == 'F' || sex == 'f'){ 
return true; 
}else if (sex == ""){ 
alert("Please enter a valid gender"); 
return false } 
</script> 
<body> 
<form action="" method="post" name="aform"><table> 
<form method="post"> 

<tr> 
<td>Enter first name</td><td><input type="text" 
name="first" /></td></tr> 
<tr><td>Enter last name</td><td><input type="text" name="last" 
id="last" />*</td></tr> 
<tr><td>Enter your age</td><td><input type="text" name="age" id="age" 
size=5 />*</td></tr> 
<tr><td>Enter your sex</td><td><input type="text" name="sex" id="sex" 
size=2 />*</td></tr> 
<tr><td>Enter your favorite color</td><td><input type="text" 
name="color" /></td></tr> 
<tr><td><input type="button" value="Submit" onclick="verify();" /></td></tr> 
</table> 
</form> 
</body> 
</html> 
+0

'< - '獲得腳本標籤擺脫這種.... – epascarello

+0

如果你不到30歲,比你!也小於18 ....訂單很重要... – epascarello

+0

您已驗證並驗證 –

回答

0

第一關你已經使用了兩個表單標籤這是不正確的,那麼你有沒有叫你的函數validateform在你的身體標記的形式,你有沒有在JavaScript正確獲取參數您的表單名稱爲aform並且您通過myform獲得了其變量值。 應該 VAR年齡= document.aform.age

0

有報道說,是導致你的代碼出現故障許多問題。

您的HTML有幾個問題,包括浮動的<--標記和額外的打開form標記,導致HTML被錯誤地解析。

2,你和你的JavaScript引用和調用,如調用一個verify功能很不一致根本不存在的時候,你應該已經調用該函數validateform,並引用一種叫做myform試圖搶輸入時您實際上在HTML代碼中使用了一個名爲aform的表單。

有在你的JavaScript評價衆多邏輯孔以及包括事實,即它會甚至沒有檢查所有的東西首先要驗證時,你已經從抓起value返回true,並age.value時的參考,這是不必要的聲明變量age時的表單。

此外,由於age是在你的代碼的整數處理,這將是最好打電話parseInt()它從string轉換爲int

這裏工作,修復所有這些問題HTML代碼:

<html> 
    <head> 
     <title>Form</title> 
     <meta charset="utf-8"> 
     <script type="text/javascript"> 
     function validateform(){ 
      var age=parseInt(document.aform.age.value); 
      var sex=document.aform.sex.value; 
      if (last == ""){ 
       alert("Last name can't be blank."); 
       return false; 
      } 
      if (age < 18){ 
       alert("You are not old enough to fill out the form.") 
       return false; 
      } 
      if (sex == 'M' || sex == 'm' || sex == 'F' || sex == 'f'){ 
       return true; 
      } 
      else{ 
       alert("Please enter a valid gender"); 
       return false; 
      } 
     } 
     </script> 
    <body> 
    <form action="" method="post" name="aform"> 
     <table> 
    <tr> 
    <td>Enter first name</td><td><input type="text" 
     name="first" /></td></tr> 
    <tr><td>Enter last name</td><td><input type="text" name="last" 
     id="last" />*</td></tr> 
    <tr><td>Enter your age</td><td><input type="text" name="age" id="age" 
     size=5 />*</td></tr> 
    <tr><td>Enter your sex</td><td><input type="text" name="sex" id="sex" 
     size=2 />*</td></tr> 
    <tr><td>Enter your favorite color</td><td><input type="text" 
     name="color" /></td></tr> 
    <tr><td><input type="button" value="Submit" onclick="validateform();" /></td></tr> 
    </table> 
    </form> 
    </body> 
</html> 
相關問題