簡體   English   中英

POST並處理多個復選框PHP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM