ラジオボタンフォームからJavascriptで値を取得する

JavaScript勉強中です。

基本は構文はPHPと似てるけど、サーバー側での処理はPHP、ローカル側での処理はJavaScriptという感じで別々のものです。

JavaScriptでフォームから値を取得する場合は、
var AA = document.form.hogehoge.value;
といった感じで取得できます。
varでAAを使うよーって宣言をして、AAに値を代入するんですが、
document.form.hogehoge.value;については、
document(このドキュメント内の).form(フォーム名).hogehoge(取得するinput名).value(中身を取る)といった感じです。

ただラジオボタンの場合は違っていました。
結構時間食ったのでメモメモ

ラジオボタンの場合はinput名が同じ名前になるので、
格納されるデータは配列になります。
つまりAAというinput名でラジオボタンを作成するとAA[]という配列が出来上がり、
AA[0] AA[1] AA[2] AA[3]という感じでデータが格納されます。
その中からcheckedが入っているデータがラジオボタンで選ばれてるデータという事になるので、以下の構文で取り出せます。

var AA = document.getElementsByName("AA"); 
for(i=0; i<AA.length; i++){
if(AA[i].checked){
BB = AA[i].value;
break;
}
}

これでAAの中身を取り出し、for分で配列分回して「checked」が入っているデータがあれば、その中身をBB = AA[i].value;で取り出してBBに代入してます。

結構面倒ですが、ラジオボタンを使う機会は多いと思うので、
忘れないようにしないと。
もっとスマートな書き方あるのかな…。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です