- 締切済み
ラジオボタンを必須にしたい
Javascript初心者です。 <input id="in-category-1" type="radio" name="category[]" value="1"> <input id="in-category-2" type="radio" name="category[]" value="2"> <input id="in-category-3" type="radio" name="category[]" value="3"> ~ <input id="in-category-11" type="radio" name="category[]" value="11"> <input id="publish" class="button-primary" type="submit" accesskey="p" tabindex="5" value="公開" name="publish"> 現在ある投稿フォームを作成しているのですが 上記HTMLのラジオボタン(1~11)がチェックをされないと 送信ボタンを押した際に「カテゴリ~を選んでください」と表示されるようにしたいです。 ページを読み込んだ時点ではどのラジオボタンにもチェックは入っていません。 この場合Javascriptによる処理をしたいのですが どの様に記述をすればよろしいでしょうか? クリックを押した際にIf文で判定するという書き方をすれば良いのでしょうか? 大変あつかましいお願いですがもしよろしければ サンプルコードなどを見せてください。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- babu_baboo
- ベストアンサー率51% (268/525)
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#radio すくりぷとを かけるひとが こそくなてを つかうなんて。 じどうしゃの らじおの ぼたんは、2かしょを びみょうにおせば、かいじょできるが、ちゃんねるは ゆうこうなままでしたよね
- fujillin
- ベストアンサー率61% (1594/2576)
ちょっとだけ違う思いつきで。 <input id="in-category-0" type="radio" name="category[]" value="0" checked="cheked" style="display:none;"> <input id="in-category-1" type="radio" name="category[]" value="1"> <input id="in-category-2" type="radio" name="category[]" value="2"> <input id="in-category-3" type="radio" name="category[]" value="3"> ・・・・・・ <input id="in-category-11" type="radio" name="category[]" value="11"> としておいて、デフォルトのチェックがはずれていたらOK、そのままだったらアラートを出すってなのでは? alert(document.getElementById("in-category-0").checked);
- babu_baboo
- ベストアンサー率51% (268/525)
radio には、checked をつけるべき。 ためしていませんが。 <form action="xxxxx" onsubmit="check.call(this, event)"> -- <script> /* Array.some が、つかえるのならこのまま if(!Array.prototype.some)Array.prototype.some=function(b,c){var d=this.length;if(typeof b!="function")throw new TypeError;for(var a=0;a<d;a++)if(a in this&&b.call(c,this[a],a,this))return true;return false}; */ function isChecked (e) { return e.checked; } function check (event) { var radio = this.elements['category[]']; var checked = Array.prototype.some.call (radio, isChecked); if (! checked) { alert ('カテゴリ~を選んでください'); return event./*@cc_on @if(1) returnValue = false @else@*/ preventDefault() /*@end@*/; } } </script>
- babu_baboo
- ベストアンサー率51% (268/525)
<input id="in-category-1" type="radio" name="category[]" value="1" checked> もしくは、 <input id="in-category-1" type="radio" name="category[]" value="1" checked="checked"> に。 すくりぷとを つかうほどでは…。
補足
回答ありがとうございます。 checkedを使用して初期の値をこちらで決めてしまうのは避けたいのです。 ページ読み込み時はどれにもチェックが入っていない状態でスタートが条件となっています。 説明不足で申し訳ございません。