2016-11-07 77 views
0

我的表格正在驗證兩個Java函數腳本,如果兩個都是真的,它會繼續表單提交。但是,當我提交它只驗證第一個函數validateFormROLLNO()不是第二個函數。而且,當第一個函數失敗時,它仍然會提交表單。我只想在兩個函數通過時才提交表單。多功能不工作onsubmit

第一個函數會檢查roll no = 12個字符。 第二個函數檢查名稱是否爲空。

<body> 
    <center> 
<script type="text/javascript"> 


function validateFormROLLNO() { 
    var x = document.forms["myForm"]["id"].value; 
      if (x !=12) { 
     alert("ROLLNO must be 12 characters long!!!!"); 
         return false; 
    } 
document.forms["myForm"]["submit"].disabled = true; 
document.forms["myForm"]["submit"].value="Wait.."; 
} 


function validateFormNAME() { 
    var p = document.forms["myForm"]["student"].value; 
      if (p =='') { 
     alert("Name cannot be NULL!!!!"); 
         return false; 
    } 
document.forms["myForm"]["submit"].disabled = true; 
document.forms["myForm"]["submit"].value="Wait.."; 

}

function validate(){ 
return validateFormROLLNO() && validateFormNAME(); 
} 

</script> 

    <br> <FORM name="myForm" ACTION="insert.jsp" onsubmit="return validate()" METHOD="POST"> 
     Please enter the Rollno and Name you want to INSERT: 
     <BR> <br> 
     <b>ISIN :<INPUT TYPE="TEXT" NAME="id"></b> 
     <BR><BR> 
     <b> SOURCE :<INPUT TYPE="TEXT" NAME="student"></b> 
     <br><BR> 

<INPUT TYPE="SUBMIT" value="Submit"> 
    </FORM> 
    </center> 
</body> 
</html> 

回答

0

可能有一些JavaScript錯誤存在於網頁上,沒有讓第二個函數來執行。請使用瀏覽器的檢查元素來探索它。

document.forms [「myForm」] [「id」]。你正在檢查的值的文本框。請document.forms [「myForm」] [「id」] .value.length來驗證它。

這是完整的方法。

function validateFormROLLNO() { 
    var x = document.forms["myForm"]["id"].value; 
     if (x.length <12) { 
    alert("ROLLNO must be 12 characters long!!!!"); 
        return false; 
    } 
    else 
    return true; 
document.forms["myForm"]["submit"].disabled = true; 
    document.forms["myForm"]["submit"].value="Wait.."; 
    } 
+0

document.forms [ 「myForm會」] [ 「ID」]。價值 – karman

+0

document.forms [ 「myForm會」] [ 「ID」]。值你正在檢查的文本框的值。請document.forms [「myForm」] [「id」] .value.lenth來驗證它。 – karman

+0

誰給它反對票。它正在工作,我已經測試了它 – karman