重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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文で判定するという書き方をすれば良いのでしょうか?

大変あつかましいお願いですがもしよろしければ
サンプルコードなどを見せてください。

A 回答 (4件)

http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …
すくりぷとを かけるひとが こそくなてを つかうなんて。

じどうしゃの らじおの ぼたんは、2かしょを びみょうにおせば、かいじょできるが、ちゃんねるは ゆうこうなままでしたよね
    • good
    • 0

ちょっとだけ違う思いつきで。



<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);
    • good
    • 0

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>
    • good
    • 0

<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を使用して初期の値をこちらで決めてしまうのは避けたいのです。
ページ読み込み時はどれにもチェックが入っていない状態でスタートが条件となっています。

説明不足で申し訳ございません。

補足日時:2012/09/13 15:36
    • good
    • 0

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