我意识到这不是一个新话题,而且以前有人问过。我已经阅读了各种答案,虽然我在 Javascript 方面越来越好,但对大多数回复感到困惑。
我要求我的用户给出评分,他们对类别和公司进行评分。我希望 Javascript 验证两组单选按钮是否都标记了答案,如果可能的话,根据未标记的选项发出单独的警报。
我的代码(省略了它们所在的表)
<form action="blah.php" method="post" onsubmit="return validaterating()"
name="ratings">
<input type="radio" name="categoryrate" value="5">
<input type="radio" name="categoryrate" value="4">
<input type="radio" name="categoryrate" value="3">
<input type="radio" name="categoryrate" value="2">
<input type="radio" name="categoryrate" value="1">
<input type="radio" name="companyrate" value="5">
<input type="radio" name="companyrate" value="4">
<input type="radio" name="companyrate" value="3">
<input type="radio" name="companyrate" value="2">
<input type="radio" name="companyrate" value="1">
</form>
Javascript:
function validaterating() {
var rate1 = document.forms.ratings.categoryrate;
var rate2 = document.forms.ratings.companyrate;
function validaterating() {
for (var i=0; i < rate1.length; i++) {
if (rate1[i].checked)
return true;
}
alert("Please rate the category.");
return false;
}
现在,我知道这可以验证我拥有的第一个评级,并且是我认为对我最有意义的验证设置。但是,我无法验证第二个问题(rate2)。我尝试了另一个 for 循环,使用 && 运算符,当我尝试让第二个进行验证时它停止工作。使用我正在编写的代码,这怎么可能?
谢谢你的时间。