2014-09-04 110 views
0

我有一個PHP文件的頭部這段JavaScript代碼:JavaScript表單驗證不檢查錯誤

<script language="JavaScript" type="text/javascript"> 
     function validateFirstName(field) 
     { 
      if (field == "") 
      { 
       return "Please enter a first name.\n"; 
      } 
      else if (/[^a-zA-Z]/.test(field)) 
      { 
       return "Invalid first name.\n"; 
      } 
      return ""; 
     } 
     function validateLastName(field) 
     { 
      if (field == "") 
      { 
       return "Please enter a last name.\n"; 
      } 
      else if (/[^a-zA-Z]/.test(field)) 
      { 
       return "Invalid last name.\n"; 
      } 
      return ""; 
     } 
     //more functions eliminated 
     function validate(form) 
     { 
      fail = validateFirstName(form.firstname.value); 
      fail += validateLastName(form.lastname.value); 
      //and so forth 

      if (fail == "") 
      { 
       return true; 
      } 
      else 
      { 
       alert(fail); 
       return false; 
      } 
     } 
    </script> 

而且形式:

<form action="StudentSignUpPageAddingData.php" method="post" onsubmit="return validate(this)"> 
    <p id="p3">First Name: <input id="roundedcorners" type="text" name="firstname"><br></p> 
    <p id="p3">Last Name: <input id="roundedcorners" type="text" name="lastname"><br></p> 
//and so forth 
    <input id="i1" type="submit" value="Done!"> 
</form> 

當我運行它,雖然,程序跳到StudentSignUpPageAddingData.php中的代碼。我是PHP和JavaScript的新手,所以我想知道onsubmit調用是否有問題。我是否也應該考慮將JavaScript代碼粘貼到單獨的文件中,並且只需在PHP文件中引用它?

+4

在這裏工作http://jsfiddle.net/j08691/3pwugjyx/。你檢查了瀏覽器控制檯是否有錯誤? – j08691 2014-09-04 20:43:10

+0

所有的代碼都在同一個php文件中嗎?如果沒有,你的javascript應該在表單中(或包含在)同一個文檔中。 – showdev 2014-09-04 20:44:23

+0

爲什麼你在這兩個領域都有相同的'id'?他們應該是唯一的。另外,如果它被稱爲'roundedcorners',那看起來應該是'class'而不是'id'。 – Sparky 2014-09-04 20:48:10

回答