私はそれでラジオボタンの可変数を持つフォームがあります。JSラジオ検証
<input id='create' name="post[]" type="radio" value="<? echo $newphrase; ?>" />
を私は、少なくとも1つのボタンが選択されていることを確認し、それを検証したいです。私はこのコードを持っています:
function valbutton(thisform) {
myOption = -1;
for (i=thisform.post.length-1; i > -1; i--) {
if (thisform.post[i].checked) {
myOption = i; i = -1;
}
}
if (myOption == -1) {
alert("You must select a radio button");
return false;
}
alert("You selected button number " + myOption
+ " which has a value of "
+ thisform.myradiobutton[myOption].value);
thisform.submit(); // this line submits the form after validation
}
これは検証のために働きますが、$ _POST値は設定されていません。 理論的には、この行:
for (i=thisform.post.length-1; i > -1; i--) {
if (thisform.post[i].checked) {
は次のように読んでください:
for (i=thisform.post[].length-1; i > -1; i--) {
if (thisform.post[][i].checked) {
しかし、それは明らかにそれエラーとして仕事をdoens't。
"少なくとも1つのボタンが選択されていることを確認するために検証したいと思います。"本当に、最初に明示的に選択されたラジオボタンでラジオボタンを提供する必要があります。そして、ユーザーが選択されていない状態にすることはできません。 (「チェックされていない」がない場合、デフォルトでブラウザを選択してブラウザに依存しないでください;この場合の動作は未定義です)。 –
答えに感謝します。問題は、Foreachループの一部であり、0個のラジオボタンがある可能性がありますが、私はあなたの考えをさらに調査します。 – BobFlemming