プロが教える店舗&オフィスのセキュリティ対策術

ラジオボタンがひとつもチェックが入ってない時にエラーを出したいのですがうまくいきません。
<script language="JavaScript1.2">
function chk_Riyu(){
for(idRadio=0; idRadio<frmEntry.optRiyu.length; idRadio++){
if(frmEntry.optRiyu[idRadio].checked) {
return true;
break;
}
alert("チェックされてません");
return false;
}
}
</script>

<form name="frmEntry" action="aaa.htm" method="post">

<input type="submit" value="理由" onclick="return chk_Riyu()">

<input type="Radio" name="optRiyu" value="1">あああ</td>
<input type="Radio" name="optRiyu" value="2">いいい</td>
<input type="Radio" name="optRiyu" value="3">ううう</td>

このソースだと、一度目はチェックにひっかかるのですが、再度ラジオボタンにチェックを入れて理由ボタンを押してもエラーになってしまいます。
どこかおかしいところがありましたら教えていただけないでしょうか。
すみませんが宜しくお願いいたします。

A 回答 (1件)

チェックのループを抜けるところが間違ってます。



これだと、最初のボタンがチェックされてないと、alert() で return false に
なりますよ。

function xxx() {
  for (...) {
    if (ラジオボタン[i].checked) {
      return true;
    }
  }
  alert(チェックされてない);
  return false;
}
    • good
    • 0
この回答へのお礼

はあ~。ありがとうございます。解決です。
二時間くらいずっと悩んでしまいました。
この間も助けていただいてありがとうございます。
簡潔で理解しやすいです。
また何かありましたら宜しくお願いいたします。

お礼日時:2001/12/14 17:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!