我一直在開發我的第一個網站,並且遇到了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