使用外部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('!!!');
答案 0 :(得分:1)
•首先,第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脚本”令人困惑和错误。
答案 1 :(得分:0)
您的myscript.js文件位置可能不对。
仔细检查您是否给出了正确的位置。 尝试通过浏览器访问myscript.js文件。 打开控制台(f12),看看是否收到丢失文件的错误。