为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
慕仙森 2021-06-29 13:49:05
我正在做一个小项目,如果复选框被选中,我希望获得所有输入类型=“文本”值。它是如何工作的?<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'];}
查看完整描述

2 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

首先,要将文本框值传递给服务器,您还需要为文本框命名:


<input type="text" name="values[]" value="$value">

将文本框与复选框同步的一种方法是这个小技巧:


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

     echo "<label class='Items'>

        <input type='hidden' name='keys[{$key}]' value='checkbox_isnt_selected'>

        <input type='checkbox' checked='checked' name='keys[$key]' value='$value'>

        <input type="text" name='values[$key]' value='$value'>

    </label>";

}

这样,如果未选中该复选框,您将checkbox_isnt_selected进入您的服务器,否则,您将获得相关的$value. 选中时,复选框将覆盖隐藏输入的值。


查看完整回答
反对 回复 2021-07-02
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

如果您想使用 $_POST['items'] 访问表单中的所有数据,请执行以下操作:


<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[$key][]' value='$value'>

            <input type='text' name='items[$key][]' value='$value'>

        </label>";

    }

?>

</form>


查看完整回答
反对 回复 2021-07-02
  • 2 回答
  • 0 关注
  • 166 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信