2012-03-28 11 views
0

私はform[method=get]を持っています。多くのチェックボックスにはすべて同じの名前があります。複数の同じ名前要素を持つフォームGETを送信すると、長いクエリーストリングになります

フォームが送信される際に、URLが(有効で働く)として、私はブラウザに表示されるようにGETリクエストを望む

?MyCB=0&MyCb=4&MyCB=10 

ように見えてしまいます。

?MyCB=0,4,10 

これにはフォームに設定できる属性はありますか?

最後の手段は、jqueryを使用してGETをインターセプトすることです(このため、そこにヘルパー機能があるためタグ付けしています)。

答えて

0

$ _GETを使用してjqueryでフォーム全体を処理して、window.locationを配列に設定することさえできません。

残念ながら、フォームに複数の$ _GET変数を配列に凝縮させる属性を追加することはできません。

2

あなたはjqueryのを使用してこれを行うことができます:

yoururl.html?MyCB=1,2 

<input name="MyCB" class="MyCBclass" type="checkbox" value="1"> 
<input name="MyCB" class="MyCBclass" type="checkbox" value="2"> 
<input onClick="sendtheform()" type="button"> 

これはになります。ここでは

<script> 
function sendtheform(){ 

var theurldata = $("input.MyCBclass").map(function() { 
    return $(this).val(); 
}).get().join(","); 

window.location ='yoururl.html?MyCB='+theurldata; 
} 
</script> 

は、フォーム要素のHTMLです
関連する問題