
下のようなフォームがあります。
<form method="get" action="" >
<input type="checkbox" name="item" value="1">item1</input>
<input type="checkbox" name="item" value="2">item2</input>
<input type="checkbox" name="item" value="3">item3</input>
<input type="submit" value="送信" />
</form>
これで例えばすべてのチェックボックスをチェックして送信した場合、
?item=1&item=2&item=3
となりますが、これを
?item=1,2,3
とする方法はありますでしょうか?
都合により、method="get"の部分は変えられず、受け取ってからの処理(value値を配列にして受け取ってから展開するなど)も変更できません。
ご教授いただけると助かります。
No.1ベストアンサー
- 回答日時:
PHPでやるなら一度別ファイルで受けて、headerなどで飛ばすしかないでしょう。
javascriptでよいならこんな感じでできます。
渡すデータに日本語が含まれる場合は処理がめんどうなので省きます。
<script>
try{
document.addEventListener ('submit',function(e){func(e)},true);
}catch(e){
document.attachEvent('onsubmit',function(e){func(e)});
}
function func(e){
var t = (e.srcElement || e.target);
if(t.nodeName=="FORM"){
var args=new Object();
for(var i=0;i<t.length;i++){
if(t[i].name && t[i].checked){
if(!args[t[i].name]){
args[t[i].name]=t[i].name+"="+t[i].value;
}else{
args[t[i].name]+=","+t[i].value;
}
}
}
}
var url="";
for(var i in args){
url+=(url==""?"":"&")+args[i];
}
url=t.action+(url==""?"":"?"+url);
location.href=url;
e.preventDefault();
}
</script>
<form method="get" action="exsample.php">
<input type="checkbox" name="hoge" value="1">hoge1
<input type="checkbox" name="hoge" value="2">hoge2
<input type="checkbox" name="hoge" value="3">hoge3
<input type="checkbox" name="fuga" value="1">fuga1
<input type="checkbox" name="fuga" value="2">fuga2
<input type="checkbox" name="fuga" value="3">fuga3
<input type="submit" value="送信" />
</form>
御礼が遅くなり申し訳ございませんでした。
御回答を参考にさせていただき希望どおりの動作が実現できました。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックスの必須項目指定
-
HTMLで前の画面に戻る時、入力...
-
フォームの内容をクッキーに保...
-
フォームボタンを押すたびに数...
-
table を配列で取得
-
GETやPOSTで値を取り出すとき
-
phpでのボタン押下の活性・非活...
-
$_POSTで\\マークが勝手につい...
-
PHPで画像の渡しが上手く行きま...
-
複数チェックボックスの入力制...
-
PHPの初心者です。現在チェック...
-
HTMLフォームで複数選択のチェ...
-
PHPで、ボタンを押すと同じペー...
-
laravelを利用してコントロール...
-
【PHP&JavaScript】複数の別ウ...
-
PHPとpostgreSQL プルダウンの作成
-
サブウィンドウのFORM内データ...
-
PHPでURLにジャンプするには?
-
フォームのPOST情報が渡らない?
-
なぜ、unexpected T_VARIABLEに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
-
<input type="hidden" >で配列...
-
フォームへの前回入力値をクリ...
-
PHP ボタンが押されたら処理を...
-
DBの値をチェックボックスに反...
-
パラメーターを隠す
-
【PHPチェック】ラジオボタンが...
-
PHPで画像の渡しが上手く行きま...
-
テキストボックスに初期値を入れる
-
ラジオボタンをsessionで使いたい
-
ラジオボタンを押すと、表示が...
-
入力フォーム→確認画面→送信画...
-
PHPの関数実行
-
PHPで、ボタンを押すと同じペー...
-
画面が更新されてもチェックボ...
-
HTMLフォームで複数選択のチェ...
-
<input type='checkbox'>要素で...
-
同じページでフォームデータを...
-
$_SESSIONについて教えて下さい。
おすすめ情報