javascript - 外部 javascript - 表现不佳

标签 javascript jsp validation

我在使用外部 java 脚本时遇到问题。由于表单验证做得不好,我犯了一些错误。当 java 脚本代码是内部的时,它表现得很好。当我将它放入外部文件时,它什么也没做。有时它可以工作。有时不是。我使用的是net beans IDE。这是代码。

html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="myscript.js" ></script>
    <link rel="icon" type="image/png" href="favicon.jpg">
</head>
<body>
 <div class="main">
     <div class="header"></div>
     <img src="dms_logo.gif" style="align:center;">
     <div class="continer">

         <div class="myForm1" style="height:200px; width:300px; float:left;">
            <h2>MTC</h2>
            <form name="myForm1" action="access.jsp" method="get" onsubmit="return validateMtc()">
                <br/>MSISDN:<input type="text" name="MISDN" maxlength="11">
                <br/>RECIEPIENT:<input type="text" name="recipient" maxlength="12">
                <br/>DONOR:<input type="text" name="donor" maxlength="10">
                <br/>Date:<input type="text" name="date" value="">
                <br/>RN#:<input type="text" name="rn" value="" maxlength="5">
                <br/>Issue:<input type="text" name="Issue">
                <br/>SR:<input type="text" name="SR" maxlength="14">

                <br/><input type="submit" value="Submit">
                <br/><input type="reset" name="Reset">


            </form>

            <form name="search1" action="search_misdn.jsp" method="get">
                <br/><input type="submit" value="Search">
                <input type="text" value="Enter MSISDN" name="search">
            </form>
        </div>
        <div class="myform2" style="float:left; height:200px; width:300px;">
            <h2>O.C.S</h2>
            <form name="myForm2" action="ocs.jsp" method="post" onsubmit="return validate_ocs()">
                <br/><span>MSISDN:<input type="text" name="MISDN" maxlength="11"></span>
                <br/><span>SR:<input type="text" name="SR" maxlength="14"></span>
                <br/><span>REASON:<input type="text" name="reason"></span>
                <br/><input type="submit" value="Submit">
                <br/><input type="reset" name="Reset">

            </form>
            <form name="search1" action="search_misdn.jsp" method="get">
                <br/><input type="submit" value="Search">
                <input type="text" value="Enter MSISDN" name="search">
            </form>
        </div> 
        <div class="myform3" style="float:left; height:200px; width:300px;">
            <h2>K.B.C</h2>
            <form  name="myForm3" action="kbc.jsp" method="post" onsubmit="validate_kbc()">
                <br/>MSISDN:<input type="text" name="MISDN" maxlength="11">
                <br/>SR:<input type="text" name="SR" maxlength="14">
                <br/><input type="submit" value="Submit">
                <br/><input type="reset" value="Reset">

            </form>
            <form name="search1" action="search_misdn.jsp" method="get">
                <br/><input type="submit" value="Search">
                <input type="text" value="Enter MSISDN" name="search">
            </form>
        </div>

     </div>
 </div>



</body>

myscript.js

//alert(1);
var numbers = /^[0-9]+$/;
var Datee=/^[0-9-]*$/ig;///^\d{1, 2}\/\d{1, 2}\/\d{4}$/;    
var alpha_Numeric=/^[a-zA-Z0-9]*$/ig;
var alpha=/^[A-Za-z]+$/;
function validateMtc()
{

var a = document.forms["myForm1"]["MISDN"].value;
var b = document.forms["myForm1"]["Issue"].value;
var c = document.forms["myForm1"]["SR"].value; 
var d = document.forms["myForm1"]["date"].value;
var e = document.forms["myForm1"]["recipient"].value;
var f = document.forms["myForm1"]["donor"].value;
var g = document.forms["myForm1"]["rn"].value;

if(a == "" || b == "" || c == "" || d == "" || e="" || f="" || g="")
{  
    alert("Manadotry fields should not left blank");
    document.myForm1.MISDN.focus();
    document.myForm1.Issue.focus();
    document.myForm1.SR.focus();
    document.myForm1.date.focus();
    document.myForm1.recipient.focus();
    document.myForm1.donor.focus();
    document.myForm1.rn.focus();
    return false;
}
else if(!a.match(numbers))
{
    alert('Please input numeric characters only in MSISDN field');  
    document.myForm1.MISDN.focus();
    return false;
}
else if(!b.match(alpha_Numeric))   
{  
    alert('Please input numeric and alphabets only in ISSUE field');  
    document.myForm1.Issue.focus();
    return false;
}  
else if(!c.match(numbers))  
{
    alert('Please input numeric characters only SR field');  
    document.myForm1.SR.focus();
    return false;
}
else if(!d.match(Datee))
{
    alert('Please input correct date in DATE field (dd-mm-yy)');  
    document.myForm1.date.focus();
    return false;
}
else if(!e.match(alpha))
{
    alert('Please input aplhabets only in reciepeint filed');  
    document.myForm1.recipient.focus();
    return false;

}
else if(!f.match(alpha))
{
    alert('Please input aplhabets only in donor field');  
    document.myForm1.donor.focus();
    return false;

}
else if(!g.match(alpha_Numeric))
{
    alert('Please input aplhabets and numerics only in RN# field');  
    document.myForm1.rn.focus();
    return false;

}
else
    return true;

}
function validate_ocs()
{
var h = document.forms["myForm2"]["MISDN"].value;
var i = document.forms["myForm2"]["SR"].value;
var j = document.forms["myForm2"]["reason"].value;


if(h == "" || i == "" || j == "")
{  
    alert("Manadotry fields should not left blank");
    document.myForm2.MISDN.focus();
    document.myForm2.reason.focus();
    document.myForm2.SR.focus();
    return false;
}
else if(!h.match(numbers))
{
    alert('Please input numeric characters only in MSISDN field');  
    document.myForm2.MISDN.focus();
    return false;
}
else if(!i.match(numbers))  
{
    alert('Please input numeric characters only SR field');  
    document.myForm2.SR.focus();
    return false;
}
else if(!(j.match(alpha_Numeric)))   
{  
    alert('Please input numeric and alphabets only in ISSUE field');  
    document.myForm2.Issue.focus();
    return false;
}  
else
    return true;

}
function validate_kbc()
{
var k = document.forms["myForm3"]["MSISDN"].value;
var l = document.forms["myForm3"]["SR"].value;
if(k == "" || l == "")
{  
    alert("Manadotry fields should not left blank");
    document.myForm1.MISDN.focus();
    document.myForm1.SR.focus();

    return false;
}
else if(!k.match(numbers))
{
    alert('Please input numeric characters only in MSISDN field');  
    document.myForm3.MISDN.focus();
    return false;
}
else if(!l.match(numbers))  
{
    alert('Please input numeric characters only in SR field');  
    document.myForm3.SR.focus();
    return false;
}
else
    return true;

}
//alert('!!!');

最佳答案

• 首先,第 17 行有一个错误。

if(a == "" || b == "" || c == "" || d == "" || e="" || f="" || g="")

e="",应该是e==""。其余变量也是如此。

当您比较事物时,您需要使用双等号(或者最好是三等号)。 请参阅文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators

• 此外,您应该研究当今每个主要浏览器都附带的开发人员工具。他们有错误控制台,通常会在简单的情况下立即向您指出问题。 https://developer.chrome.com/devtools

• 作为旁注。
JavaScript 就是一个词。称其为“java 脚本”是令人困惑且错误的。

关于javascript - 外部 javascript - 表现不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25811677/

相关文章:

java - JSP(Java): Encoding byte array and use in JavaScript same in C#

javascript - 当 Javascript Validation 返回 false 时如何防止服务器端操作?

javascript - Aurelia PHP Post 请求为空 $_POST

java - 在 Java 中将数据插入数据库而不进入下一个屏幕?

JavaScript 中的 C# DateTimeKind.Local

mysql - 从 jsp/servlet 添加日期到 mysql 数据库时出错

javascript - 我想在我的参数编辑器中使用正则表达式来验证标志和值

mongodb - Mongodb 3.6 中的默认值

javascript - 我们可以在 &lt;style&gt; 标签上使用 class 吗?

javascript - 在单选按钮选择上显示元素