通过选中的复选框获取输入类型=“文本”值

我正在做一个小项目,如果复选框被选中,我希望获得所有输入类型=“文本”值。它是如何工作的?



<form name="test" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" target="_blank">

<?php

    foreach ($data['items'] as $key => $value) {

         echo "<label class=\"Items\">

            <input type=\"checkbox\" checked=\"checked\" name=\"items[]\" value=\"$value\">

            <input type=\"text\" value=\"$value\">

        </label>";

    }

?>

</form>

我已经尝试过这个,但它只返回我的复选框值而不是我的文本值。


if(isset($_POST['items'])) {

     $items = $_POST['items'];

}


慕仙森
浏览 169回答 2
2回答

人到中年有点甜

首先,要将文本框值传递给服务器,您还需要为文本框命名:<input type="text" name="values[]" value="$value">将文本框与复选框同步的一种方法是这个小技巧:foreach ($data['items'] as $key => $value) {&nbsp; &nbsp; &nbsp;echo "<label class='Items'>&nbsp; &nbsp; &nbsp; &nbsp; <input type='hidden' name='keys[{$key}]' value='checkbox_isnt_selected'>&nbsp; &nbsp; &nbsp; &nbsp; <input type='checkbox' checked='checked' name='keys[$key]' value='$value'>&nbsp; &nbsp; &nbsp; &nbsp; <input type="text" name='values[$key]' value='$value'>&nbsp; &nbsp; </label>";}这样,如果未选中该复选框,您将checkbox_isnt_selected进入您的服务器,否则,您将获得相关的$value. 选中时,复选框将覆盖隐藏输入的值。

犯罪嫌疑人X

如果您想使用 $_POST['items'] 访问表单中的所有数据,请执行以下操作:<form name="test" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" target="_blank"><?php&nbsp; &nbsp; foreach ($data['items'] as $key => $value) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo "<label class='Items'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type='checkbox' checked='checked' name='items[$key][]' value='$value'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type='text' name='items[$key][]' value='$value'>&nbsp; &nbsp; &nbsp; &nbsp; </label>";&nbsp; &nbsp; }?></form>
打开App,查看更多内容
随时随地看视频慕课网APP