2012-08-05 84 views
1

有誰知道如何以逗號分隔的方式輸出複選框值? 讓我們假設我有2個複選框:逗號分隔的複選框值

  • <input id="filetype_photo" name="type" type="checkbox" value="photo" >
  • <input id="filetype_graphic" name="type" type="checkbox" value="graphic" >

如果我有$ _GET找回他們,我得到以下網址:

  • sitename.com?type = photo & type = graphic 如果兩個複選框都選中,我的目標是獲得以下網址:
  • sitename.com?type=photo,graphic

我已經使用複選框重命名它們的陣列命名[],並使用下面的函數來litertae槽結果試過:

$type=$_GET['type']; 
while (list ($key,$val) = @each ($type)) { 
echo $val; 
} 

但這給了我複選框的值,但沒有解決url問題。此外,通過將 type = photo更改爲& type%5B%5D = photo

任何想法?

P.S.我需要解決它的服務器端

回答

3

用途:

<input id="filetype_photo" name="type[]" type="checkbox" value="photo" > 
<input id="filetype_graphic" name="type[]" type="checkbox" value="graphic" > 

而且你$type=$_GET['type']將是一個數組。

1

PHP不能處理具有相同名稱的多個參數,除非它們以方括號結束。如果你想避免使用它們,你需要手動解析查詢字符串。

0

使用JavaScript編譯一個逗號分隔值的字符串,並用了window.location重定向

+0

「P.S.我需要解決它的服務器端」 – 2012-08-05 22:02:19

+0

然後使用name =「type []」這兩個複選框。那麼網址應該沒問題,並且你的迭代接收數組 – pho 2012-08-05 22:04:32

+0

這個迭代工作正常,我從兩個複選框中選擇名稱爲[]的值。問題是如何強制表單不輸出每個複選框的兩個值到url,而是輸出它們的逗號分隔數組?我想過使用隱藏的輸入字段並將數組值傳遞給它的值,這似乎是不好的做法,而不是真正的解決方案 – 2012-08-05 22:15:37