|ω・`)ノ ヤァ
今回は完全に備忘録だな
HTMLで宣言(?)したラジオボタンの値を次の画面に送るためのJavaScript
まぁもうすぐ辞めちゃうんだけど、とりあえず備忘録的に書いておく
メイン言語はColdFusionだけど、HTMLとほぼ変わらんから
【JavaScript】ラジオボタンのValueをJavaScriptで送る
という訳で早速コード
最初のタグとかは省略する
フォーム名は[frm]
1 2 3 4 5 6 |
<input type = "radio" name = "RADIOBTN" value = "1">はい <input type = "radio" name = "RADIOBTN" value = "2">いいえ <input type = "radio" name = "RADIOBTN" value = "3">その他 <input type = "text" name = "textbox" length = "10"> <input type = "text" name = "textbox2" length = "10"> |
まずこれがラジオボタンの作成と後で適当に使うテキストボックス
次が問題のJavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/* 変数の宣言 */ var RADIOBTNcheck = ""; /* フォーム内のエレメント数を取得 */ for(i=0; i<document.frm.length; i++){ /* エレメントがラジオボタンの場合 */ if(document.frm.elements[i].type=="radio"){ /* ラジオボタンがチェックされているか否か */ /* ラジオボタンの名前が[RADIOBTN]であるか */ if(document.frm.elements[i].checked && document.frm.elements[i].name == "RADIOBTN" ){ RADIOBTNcheck = document.frm.elements[i].value; break; } } } |
こんな感じ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
/* ラジオボタンが空白かチェック */ if(RADIOBTNcheck == ""){ alert("どれか選択してください"); /* ラジオボタンの「はい」がチェックされている時のチェック */ } else if(RADIOBTNcheck != "1" && (document.frm.textbox.value.length != 0 || document.frm.textbox2.value.length != 0) ){ alert("「はい」を選択した時はテキストボックスに入力できません") } else { res = confirm("アンケートを送信しますか?"); if (res == true){ document.frm.method="POST"; document.frm.action="〇〇〇.cfm"; document.frm.submit(); } } |
発展させるとこんな感じかな
以上!!