
ちょっと前に別の方の同名の質問があり、正しい回答が出る前に、例によって不適切な回答で閉め切られてしまったため、失礼とは存じますが改めて質問させていただきます。
<form id="enqe" action="/hoge/enqe" method="post">
<label for="group_a">好きなフレームワーク</label>
<input type="radio" name="group_a" value="a1">cake php</input>
<input type="radio" name="group_a" value="a2">fuel php</input>
<input type="radio" name="group_a" value="a3">symphony</input>
<label for="group_b">使っているOS</label>
<input type="radio" name="group_b" value="b1">windows</input>
<input type="radio" name="group_b" value="b2">macintosh</input>
<input type="radio" name="group_b" value="b3">linux</input>
<label for="group_c">使っているCPU</label>
<input type="radio" name="group_c" value="c1">ivy bridge</input>
<input type="radio" name="group_c" value="c2">sandy bridge</input>
</form>
のような選択肢があって、選択値を配列で送信したいです。
配列で受けたい理由は、送信側のフォーム(項目、グループ分け)が逐次追加変更される予定で、それに合わせてDBだけを変更して対応したいからです。
したがって、「毎度サーバサイドで対応しろ」という回答は困ります。
<input type="hidden" name="gval[]" value="a1" />
<input type="hidden" name="gval[]" value="b2" />
<input type="hidden" name="gval[]" value="c3" />
という内容を生成して送信すればいいのはわかりますが、どう記述したらいいかがわかりません。
いちおうjQueryで、
$('form#enqe').submit(function(){
// $(this).find("input[type='radio']"); で、<input type="radio">を取得
});
まではわかりましたが、jQueryに疎く、その先がわかりません。
識者の方々のお力をお借りできれば幸いです。
No.2ベストアンサー
- 回答日時:
通常版で書き換えてみました。
jQuery('#enqe').submit(function(){
var that = this;
jQuery('input[type="radio"]:checked','#enqe').each(function(i){
$("<input>").attr({
'type':'hidden',
'name':'hoge['+i+']'
}).val(jQuery(this).val()).appendTo(that);
});
return true;
});
これです、これです!
丁寧にも、
<input type="hidden" name="hoge[0]" value="a1"/>
<input type="hidden" name="hoge[1]" value="b1"/>
<input type="hidden" name="hoge[2]" value="c1"/>
とかになってます。サーバによっては、こうじゃないとうまく転送値を配列として判定できないものもあるようで。
本当に有難うございます(別件のご回答も含めて)厚く御礼申し上げます。
No.1
- 回答日時:
sendデータを作ってあげこんな感じですかね?
'hoge[]'が配列していです。
jQuery('#enqe').submit(function(){
var sendData = [];
jQuery('input[type="radio"]:checked','#enqe').each(function(){
sendData[sendData.length] = jQuery(this).val();
});
jQuery.post(jQuery('#enqe').attr('action'), { 'hoge[]': sendData });
return false;
});
この回答への補足
回答いただきありがとうございます。
なるほど。。Ajaxではそんな風に遷移するのですね。。
全く申し訳ないのですが、今回、サーバサイドの事情で、Ajaxを使った更新ではなく、通常のsubmitで遷移したいのです。
説明が悪くて申し訳ありません。
ひきつづき、アドバイスなどありましたらよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascript作成してます。ラジ...
-
データベースの値を判断してラ...
-
ラジオボタンのチェックが外れ...
-
javascriptでクイズ
-
ラジオボタンにタブインデック...
-
return trueとreturn falseの用...
-
Selectボックスの幅を自動で広...
-
【jsp/Java】チェックボックス...
-
hiddenのvalueの値を変えたい
-
value.replaceがうまく動作しま...
-
【javascript・PHP】プルダウン...
-
カーソルが当たった箇所に吹き...
-
ツールチップにテーブル左端列...
-
フォーム内で記入したクエリ送...
-
JSPとJavaScriptの連携について...
-
VBSでブラウザ上のテキストボッ...
-
javaScriptの変数をJavaの変数...
-
JavaScriptのfileオブジェクト...
-
jQueryで特定のチェックボック...
-
リロード時もコンボボックスの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンでdisabledとchecked
-
Jvasvriptのlengthで個数が取得...
-
データベースの値を判断してラ...
-
ラジオボタンのvalueとlabelの...
-
フォームPOST後「戻る」時のチ...
-
ラジオボタンでチェックした項...
-
if をいくつか重ねたら実行して...
-
javascriptからラジオボタンへ...
-
ラジオボタンでの動的項目の変...
-
ラジオボタンのリセット方法
-
JavaScript ラジオボタン デ...
-
js radioボタンの「name」を多...
-
jQueryで複数のラジオボタンを処理
-
チェックボックスとテキストボ...
-
jQueryを使った診断チェックシート
-
javascriptを使ってラジオボタ...
-
ラジオボタンのValueを受け取り...
おすすめ情報