2013-05-16 65 views
0

使用表單和JavaScript來驗證字段。
這裏是我稱之爲驗證javascripts的代碼,所有這些代碼都在單獨的文檔中,但是指定了文件路徑。並非所有驗證檢查都會在提交時執行。

function validation() 
    { 
     return validateTitle() 
      && validatefirstName() 
      && validatesecondName() 
      && validateAge() 
      && validateEmail() 
    } 
    </script> 
</head> 
<body> 
    <form name="subscribeForm" action="welcome.php" method="post" onsubmit="return validation();"> 

最後兩個,validateAgevalidateEmail不執行。
下面是每個JavaScript函數代碼:

function validateEmail() 
{ 
    var x=document.getElementById('emailadd').value; 
    var atpos=x.indexOf("@"); 
    var dotpos=x.lastIndexOf("."); 
    if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length || x == null) 
    { 
     alert("Not a valid e-mail address"); 
     return false; 
    } 
} 

function validateAge() 
{ 
    var b=document.forms["subscribeForm"]["bday"].value; 
    if (b==null || b=="" || b < 1 || b > 105) 
    { 
     alert("Age invalid."); 
     return false; 
    } 
    else if (isNaN(b)) 
    { 
     alert("Please enter a numeric value."); 
     return false; 
    } 
} 
+2

你沒有在任何函數中返回'true' ... – elclanrs

+0

我輸入了return = true;對於兩個驗證,他們仍然不執行,現在也沒有validatesecondName(); –

回答

0

所有你需要的功能,如果驗證通過,返回一個thruty值。但是,只要一個函數返回false或錯誤的值,驗證過程就會停止。這是因爲&&運營商使用short-circuit evaluation

基本上,如果validateTitle()失敗,其餘的函數將不會執行。