我是網絡編程的新手,我想要驗證以下表單。爲什麼下面的javascript沒有被執行?
<form name="feature_request_view" action="FeatureRequestView.php" method="post" onsubmit="return validateAllFields()">
<p id="errorMsg" style="color:red"> </p>
<div class="noboder">
<label for="approval">* Approve the feature request?:</label>
<input type="radio" name="approval[]" id="approval" value="1" /> Yes
<input type="radio" name="approval[]" id="approval" value="0" /> No
*
</div>
<div class="button-style">
<input type="submit" value="Submit" />
</div>
</form>
JavaScript代碼如下:
<script type="text/javascript" src="../validation.js"></script>
<script type="text/javascript">
function validateAllFields()
{
var approval = document.getElementsByName("approval");
var errors = document.getElementById("errorMsg");
errors.innerHTML = "";
if(checked(approval, errors, "Please choose an option to approve/disapprove the feature request."))
{
window.alert("got in the if block");
errors.innerHTML = "Your decision has been submitted.";
return true;
}
return false;
}
</script>
而我使用的檢查功能是:
function checked(element, error, msg) {
var boxchecked = false;
for (i = 0; i < element.length; i++) {
if (element[i].checked) {
boxchecked = true;
}
}
if (boxchecked) {
return true;
}
else {
error.innerHTML = msg;
return false;
}
}
我的問題是,代碼永遠不會被執行的JavaScript,因此即使單選按鈕沒有被填充也會傳遞它,並開始執行一些我用來填充表格的php。請幫忙!提前致謝。
語法錯誤?任何顯示在控制檯中的東西? – 2011-06-14 18:01:40
'name ='approval []「'屬性應該是'name =」approval「'以與您的javascript代碼相匹配。 – Genzer 2011-06-14 18:03:55
...一致的縮進使得代碼更容易遵循。還要明確說明*什麼*沒有執行。這將導致答案。 – 2011-06-14 18:04:14