• 締切済み

ラジオボタンを必須にしたい

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文で判定するという書き方をすれば良いのでしょうか? 大変あつかましいお願いですがもしよろしければ サンプルコードなどを見せてください。

みんなの回答

回答No.4

http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#radio すくりぷとを かけるひとが こそくなてを つかうなんて。 じどうしゃの らじおの ぼたんは、2かしょを びみょうにおせば、かいじょできるが、ちゃんねるは ゆうこうなままでしたよね

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

ちょっとだけ違う思いつきで。 <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);

回答No.2

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>

回答No.1

<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"> に。 すくりぷとを つかうほどでは…。

tokeitoki
質問者

補足

回答ありがとうございます。 checkedを使用して初期の値をこちらで決めてしまうのは避けたいのです。 ページ読み込み時はどれにもチェックが入っていない状態でスタートが条件となっています。 説明不足で申し訳ございません。

関連するQ&A