[英]Submitting a dynamic checkbox form and get values in pairs
我有一個帶有動態添加的復選框的表單-每個復選框以及一個隱藏字段。 提交時,我只需要與隱藏字段成對顯示的檢查值。
這就是我所擁有的:
<input type="checkbox" name="valg[]" value="<?=$hent_data[id]?>" />
<input type="hidden" name="process_id[]" value="<?=$hent_data[process_id]?>" />
<?php
if($_POST[submit] != ""){
$arrlength=count($_POST[valg]);
for($x=0;$x<$arrlength;$x++) {
$dimen1 = $_POST[valg][$x];
$dimen2 = $_POST[process_id][$x];
echo $hest = "INSERT INTO chosen (kat_ref, prod_ref, process_id) VALUES ($dimen1, '', $dimen2)"."<br/>";
}
}
?>
提交后,我得到了正確的行數,具有正確的復選框值BUT,但問題出在隱藏文本輸入中。 在提交時,它將列出所有隱藏的值。
假設在一個帶有10個復選框(和隱藏文本輸入)的表單中,我已經勾選了3個復選框,我希望將3個確切的隱藏文本輸入框與被勾選的復選框一起列出,但它會全部返回,這意味着無論如何我選中了許多復選框,它仍然會解析所有隱藏的值字段。
有任何想法嗎?
我希望你能理解-否則讓我知道;-)
從討論的角度來看,在我看來最好在key => value中發送復選框
<input type="checkbox" name="valg[<?=$hent_data[id]?>]" value="<?=$hent_data[process_id]?>" />
這將在php端給您類似的結果
Array
(
[valg] => Array
(
[uniqueKey3] => processID3
[uniqueKey7] => processID7
[uniqueKey8] => processID8
)
)
因此,在php中,您可以執行以下操作:
foreach($_POST['valg'] as $ID => $processID){
echo $hest = "INSERT INTO chosen (kat_ref, prod_ref, process_id) VALUES ($ID, '', $processID)"."<br/>";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.