input checkbox欄位一般的用法是這樣
<input name="divide" type="checkbox" /> <label>使用分隔</label>
接收變數時要檢查有沒有"divide" 這個名稱的值即可:
if( !empty($_GET['divide'])) { ... }
但是如果遇到同類型的要選,每個這樣子取名字,和再將取得的值組合,真是麻煩事。
還好,checkbox欄位是可以設定陣列,同時指定 value值,在接收變數時只要取一次即可。
HTML
選擇分格方式 <input name="divide[]" type="checkbox" value="newline" /> <label>換行</label> <input name="divide[]" type="checkbox" value="tab"> <label>TAB</label> <input name="divide[]" type="checkbox" value="semicolon"> <label>分號</label> <input name="divide[]" type="checkbox" value="colon"> <label>逗點</label> <input name="divide[]" type="checkbox" value="blank"> <label>空格</label>
這裡name是 divide[],divide變數名後面加了中刮號 "[]"
如果直接submit出去,得到的 $_GET['divide']會是一個陣列
如果要在前端使用jquery取值的話,寫法是這樣的:
var divs= $("input[name='divide[]']:checked").map(function() { return $(this).val(); }).get();
divs 在JS中是個陣列
特別注意那個 name裡面不能只寫 [name='divide']。
漏了中刮號的話你什麼都取不到,至於[1]可以作用?可能是不同版本的jquery不同吧。