首页 文章

提交动态复选框表单并成对获取值

提问于
浏览
0

我有一个动态添加复选框的表单 - 每个复选框和一个隐藏字段 . 我只需要在提交时与隐藏字段成对显示的选中值 .

这就是我所拥有的:

<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)"."
"; } } ?>

提交时,我得到了正确的行数,正确的复选框值,但是,问题出在隐藏文本输入中 . 提交时,它会列出所有隐藏的值 .

让我们说一个带有10个复选框(和隐藏文本输入)的表格我已经勾选了3个复选框我希望确切的3个隐藏文本输入框与勾选的复选框一起收听,但它将全部返回,这意味着无论如何我检查了很多复选框,它仍然会解析所有隐藏的值字段 .

有任何想法吗?

我希望你明白 - 或者让我知道;-)

1 回答

  • 1

    从讨论到我,似乎最好在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)"."
    "; }

相关问题