これは新しいトピックではなく、以前にも尋ねられたことがあることを認識しています。私はさまざまな回答を読みましたが、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;
}
これで、私が持っている最初の評価を検証するためにこれが機能することがわかりました。これは、私にとって最も理にかなっていると思う検証設定です。ただし、検証する 2 番目の質問 (rate2) を取得できません。&& 演算子を使用して別の for ループを試しましたが、2 番目を検証しようとすると機能しなくなります。私が書いているコードを使用して、どのようにそれが可能ですか?
御時間ありがとうございます。