0

我有两个数组。一个用于输入框,另一个用于复选框。

输入框[] 复选框[]

输入框[] 复选框[] 。. . . 提交按钮

当我填写复选框1并在输入框1中填写值并尝试提交时。Foreach 失败,因为它通过了输入框的所有索引,但只通过了选中的复选框。

foreach(array_combine($checkbox, $inputbox) as $check => $input) 

请告诉我我能做什么?

4

2 回答 2

1

遍历文本框(保证所有文本框都存在),然后获取相应的复选框(可能通过 ID,如果它们之间有某种 ID 对应关系 - 你应该这样做)。

于 2012-05-17T06:38:55.793 回答
1

如果您可以控制 HTML 表单,则可以按以下方式制作表单

<input type="text" name="name[1]" />
<input type="checkbox" name="check[1]" />
<input type="text" name="name[2]" /> 
<input type="checkbox" name="check[2]" /> 
<input type="text" name="name[3]" />
<input type="checkbox" name="check[3]" />
<input type="text" name="name[4]" />
<input type="checkbox" name="check[4]" />

在这种情况下,您将通过以下方式获得 post 数组

Array
(
    [name] => Array
        (
            [1] => Swapnil
            [2] => 
            [3] => Sarwe
            [4] => Swapnil Sarwe
        )

    [check] => Array
        (
            [1] => on
            [3] => on
        )

)

现在您可以遍历名称(输入框),然后检查 isset 的 isset($_POST['check'][$key]) 并设置默认值

于 2012-05-17T06:48:41.023 回答