こんにちわ。
JavaScriptでメールフォームのラジオボタンが押印されているかチェックをしています。(全て押印されていないとアラートウィンドウでエラーコメントを表示する。その後数字の正規表現チェックをする予定)
ラジオボタンの「name」は後ほどPHPで連想配列として使用するのでこのような形にしています。
多次元配列の押印チェックとチェックした値の取り出しが出来ません。(例:AA[1]、AA[2]のチェック確認とチェックされた値の取得。取得した値は10個目の配列にひとまず格納したいAA[1][10]、AA[2][10])
どのようにすれば、出来るのかご教授お願いします。
以下のようなソースです。(質問に必要な箇所のみ抜粋しています)
JavaScript---------
function checkForm(){
var flag=0;
var errN;
for ( i = 0 ; i < 3 ; i++)
{if (document.formSample.hoge.checked)
{ flag = 1; var hoge = document.formSample.hoge.value;}}
if(flag !== 1){errN = '[問1]';} flag = 0;
for ( i = 0 ; i < 3 ; i++)
{if (document.formSample.AA[1].checked)
{ flag = 1; var AA[1][10] = document.formSample.AA[1].value;}}
if(flag !== 1){errN = '[問2]';} flag = 0;
for ( i = 0 ; i < 3 ; i++)
{if (document.formSample.AA[2].checked)
{ flag = 1; var AA[2][10] = document.formSample.AA[2].value;}}
if(flag !== 1){errN = '[問3]';} flag = 0;
if(!flag) /*選択されていない問を表示*/
{
alert(errN + '選択してください。');
}
else /*選択されている値を表示*/
{
alert('問1'+hoge+問2'+AA[1][10]+問3'+AA[2][10] );
}
}
HTML-----------------
<form name="formSample" method="post" action="" onSubmit="return checkForm()" >
問1.
<input type="radio" name="hoge" value="1" />低い
<input type="radio" name="hoge" value="2" />普通
<input type="radio" name="hoge" value="3" />高い
問2.
<input type="radio" name="AA[1]" value="1" />低い
<input type="radio" name="AA[1]" value="2" />普通
<input type="radio" name="AA[1]" value="3" />高い
問3.
<input type="radio" name="AA[2]" value="1" />低い
<input type="radio" name="AA[2]" value="2" />普通
<input type="radio" name="AA[2]" value="3" />高
<input type="submit" value="送信">
</form>
No.1ベストアンサー
- 回答日時:
javascriptではnameにカッコをつけても当然配列としてみなされません
formの要素であればelementsとしてnameでアクセスできます
document.formSample.AA[2].checked
↓
そもそもAA[2]のどの要素のcheckedを見ているのか不明
要素ごとにチェックをするのでたとえばこう
document.forms['formSample'].elements['AA[2]'][0].checked
・・・AA[2]という要素群の0番目の要素のcheckedをみる
できればformにもidを振って、document.getElementById()でアクセスした方が確実
yambejpさま
ご回答ありがとうございます!
ああ、、、
「javascriptではnameにカッコをつけても当然配列としてみなされません」
当たり前なことを、すっかり見落としていました。
PHPやらJSやら混乱していたようです。
●document.forms['formSample'].elements['AA[2]'][0].checked
現在この方法でテストしてみて思った通りに動きました。
ひとまず、こちらを使用してみます。
●formにもidを振って、document.getElementById()でアクセス
こちらも、テストをしてみます!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースの値を判断してラ...
-
ラジオボタンにタブインデック...
-
ラジオボタンのValueを受け取り...
-
チェックされたラジオボタンに...
-
チェックボックスとテキストボ...
-
jQuery 変数の使い方について
-
javascript作成してます。ラジ...
-
ラジオボタンを使ったアンケート
-
ポップアップウインドウで選択...
-
ラジオボタンの値でリンク先を...
-
ジャバスクリプト機能の繰り返...
-
JavaScript ラジオボタン デ...
-
特定のラジオボタンが選択され...
-
JavaScriptでアンケートを作成.。
-
ラジオボタンで入力フィールド...
-
javascriptで日付+乱数+選択...
-
ラジオボタン未チェックの場合...
-
VBA IE ラジオボタンに...
-
return trueとreturn falseの用...
-
<JavaScript>tableタグを入力不...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
データベースの値を判断してラ...
-
ラジオボタンのチェックが外れ...
-
ラジオボタンの値でリンク先を...
-
javascript作成してます。ラジ...
-
Jvasvriptのlengthで個数が取得...
-
ラジオボタンのValueを受け取り...
-
チェックされたラジオボタンに...
-
ラジオボタンの分岐方法に関して
-
ラジオボタンのリセット方法
-
ラジオボタンでdisabledとchecked
-
フォームPOST後「戻る」時のチ...
-
ラジオボタンのチェック数に応...
-
アンダーバーのname値は取得で...
-
ラジオボタンを使って、検索ペ...
-
ラジオボタン未チェックの場合...
-
リセットボタンでクリアできな...
-
javascriptによる動的なリンク...
-
javascriptでのアラート表示
-
【診断テストの作り方】結果に...
おすすめ情報