
下のようなフォームがあります。
<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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
検索時の選択内容を保持する方法
-
HTMLで前の画面に戻る時、入力...
-
DBの値をチェックボックスに反...
-
PHPで、ボタンを押すと同じペー...
-
フォームのテキストボックスに...
-
フォームボタンを押すたびに数...
-
ラジオボタンのチェックを判定...
-
PHP チェックボックスのhidden...
-
フォームでのリセットを使う方法
-
PHPの関数実行
-
テキストボックスに初期値を入れる
-
CAKEPHPでビューからコントロー...
-
PHPでURLにジャンプするには?
-
複数 selectフォームから今回on...
-
セッションを使わずに遷移先画...
-
PHPでバーコード読み取りって・...
-
[PHPとHTML]リストボックスにつ...
-
PHPにてselectboxの色によっ...
-
プルダウンリスト(コンボボッ...
-
セレクトしたときに全て初期状...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
-
DBの値をチェックボックスに反...
-
$_SESSIONについて教えて下さい。
-
PHPで、ボタンを押すと同じペー...
-
PHP ボタンが押されたら処理を...
-
<input type="hidden" >で配列...
-
アンケートフォームの作り方
-
入力した部分を表示させたまま...
-
画面が更新されてもチェックボ...
-
ラジオボタンをsessionで使いたい
-
チェックボックスによる検索
-
PHPで画像の渡しが上手く行きま...
-
同じページでフォームデータを...
-
POSTをボタンではなくリンク等...
-
配列をhiddenで
-
HTMLのvalue値を取得したい。
-
パラメーターを隠す
-
選んだ数字だけ繰り返す
-
PHPで画像データーのアップロー...
おすすめ情報