2012-03-28 49 views
0

我有一個form[method=get]其中有多個複選框都有相同的名稱。當表單提交提交表單GET與多個相同的名稱元素導致長querystring

,網址最終看起來像

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

我想要的GET請求出現在瀏覽器中(這是啥作品)。

?MyCB=0,4,10 

是否有我可以在窗體上設置的屬性來做到這一點?

最後的手段是攔截使用jquery的GET(這就是爲什麼我標記爲如此incase有任何幫助函數那裏)。

回答

0

你甚至可以不使用$ _GET並用jquery處理整個窗體,然後將window.location設置爲數組。

不幸的是,您無法添加允許窗體將多個$ _GET變量壓縮到數組中的屬性。

2

你可以使用jQuery和做到這一點:

<script> 
function sendtheform(){ 

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

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

這裏是表單元素HTML:

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

這將導致:

yoururl.html?MyCB=1,2 
相關問題