多功能不适用于提交

multiple function not working for onsubmit

我的表单正在验证两个 java 函数脚本,如果两者都为真,它将继续表单提交。但是当我提交时,它只验证第一个函数 validateFormROLLNO() 而不是第二个函数。此外,当第一个函数失败时,它仍然会提交表单。我只想在两个函数都通过时才提交表单。

第一个函数将检查卷号是否为 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>

页面上可能存在一些 javascript 错误,导致第二个函数无法执行。请使用浏览器的检查元素来探索它。

document.forms["myForm"]["id"].value 您正在检查文本框的值。请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..";
  }