我一直在开发我的第一个网站,并且遇到了javascript验证脚本的问题。我的代码:Javascript验证在提交时无法正常工作
<html>
<head>
<title>Territory</title>
</head>
<body>
<script type="text/javascript"> //Main Javascript function giving me issues
function validate(form)
{
fail = validateTerrNum(document.checkOut.numberOut.value);
fail += validateFirstName(document.checkOut.fName.value);
fail += validateLastName(document.checkOut.lName.value);
if (fail == "")
return true;
else
{
alert(fail);
return false;
}
}
</script>
<script type="text/javascript>
function validateTerrNumber(field)
{
if (field == "") return "No territory number was entered. \n";
else if (field.length > 3)
return "Territory numbers must be less than four characters. \n";
else if (/[^0-9]/.test(field))
return "Only 0-9 allowed in territory number. \n";
return "";
}
//Note: Does not sanitize string
function validateFirstName(field)
{
if (field == "") return "No first name was entered. \n";
return "";
}
//Again, note that this function does not sanitize string
function validateLastName(field)
{
if (field == "") return "Not last name was entered. \n";
return "";
}
</script>
<table border="0" cellpadding="2" cellspacing="5">
<th colspan="2" align="center">Check Out</th>
<form name="checkOut" method="post" onSubmit="validate(this)">
<tr><td>Territory Number</td><td><input type="text" name="numberOut" tabindex="1" maxlength="3" size="3" /></td>
</tr><tr><td>First Name of Holder</td><td><input type="text" name="fName" tabindex="2" maxlength="15"/></td>
</tr><tr><td>Last Name of Holder</td><td><input type="text" name="lName" tabindex="3" maxlength="15" /></td>
</tr><tr><td><input type ="checkbox" name="specialC" tabindex="4" value="Yes"/> Special Campaign</td>
</tr><tr><td></td><td><input type="submit" value="Check Out" /></td>
</form>
</table>
</body>
</html>
它显然格式不好 - 复制和粘贴的结果。更具体地说,这个问题是与JavaScript验证。当我点击“签出”时,验证并不会阻止我投入不良数值。该脚本非常简单,但由于某种原因,我无法弄清楚它是怎么回事(我对JavaScript相当陌生)。
我知道这个问题不是我的浏览器,因为我有很多javascripts在其中运行。我能想到的唯一的事情是表单没有方法。这将是另一种验证,但用PHP编写 - JavaScript实际上只是客户端的预验证。
任何帮助,将不胜感激。
-Mlagma
你为什么不试着让你的“提交”按钮,然后从按钮调用你的Java脚本。如果验证通过,只需调用form.submit(); – Sap 2012-08-15 05:25:39