簡體   English   中英

提交動態復選框表格,並成對獲取值

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

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