[英]POST and process multiple check boxes PHP
我有一個帶有多個復選框的表單,用戶也可以添加多個復選框,因此金額可以有所不同。
復選框位於div中,我按如下方式收集每個復選框狀態
[Javascript]
$('#list input:checked').each(function(){
checked = checked + "," + $(this).attr('id')
})
然后,我將此發布到清理它的php腳本中。
[PHP]
$checked = trim($checked, ',');
$checked = explode(",", checked);
然后更新數據庫..
[SQL]
foreach ($checked as &$id)
{
sql stuff .......
}
這樣可以達到要求的結果,但是我認為必須有更好的方法嗎?
對於這一部分:
$('#list input:checked').each(function(){
checked = checked + "," + $(this).attr('id')
})
您可以執行諸如serialize()
函數之類的操作。
您應該將具有相同名稱的所有相同類型的復選框放在最后,並用方括號括起來,例如: x[]
,並且它們將使用值而不是id:
<input type="checkbox" name="x[]" value="1">
<input type="checkbox" name="x[]" value="2">
...
當您提交此表單時,您將在如下數組中獲得所有檢查的值:
$_POST['x'] => array(1,2,3)
因此您不必進行任何字符串操作。 這是在php中提交多選值的正確方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.