【发布时间】:2012-08-27 14:06:57
【问题描述】:
我正在尝试使复选框像单选按钮一样工作,并将开/关值传递给 $info。 此代码工作正常,变量 info 通过 GET 发送和读取
<?php if (empty($info)) { $info='on'; } ?>
<input type="checkbox" name="info" value="<?php if ($info=='on'){ echo "off"; } else { echo "on"; } ?>" onchange="this.form.submit()" />
添加这个:
**<?php if (!empty($info)){ echo 'checked="checked"'; } ?>**
<input type="checkbox" name="info" value="<?php if ($info=='on'){ echo "off"; } else { echo "on"; } ?>" <?php if (!empty($info)){ echo 'checked="checked"'; } ?> onchange="this.form.submit()" />
破坏了一些东西 - GET 变量不被发送或读取,值总是关闭。为什么 ?这是没有意义的。在复选框中添加 checked="checked" 会使该复选框的 GET 变量不被发送。
【问题讨论】:
-
你设置
$info = $_GET['info'];了吗?你试过 var dumping _GET 吗?var_dump($_GET); -
为什么
value依赖于复选框是否被选中?无论如何,该值应该相同。 -
我对你实际得到的结果有点迷茫......但是如果选中它,复选框只会提交一个值,所以动态设置它的值几乎没有意义,因为如果它之前是否检查过。