【问题标题】:PHP Form element select list value not showing in post variable after submit提交后PHP表单元素选择列表值未显示在post变量中
【发布时间】:2013-07-21 10:23:51
【问题描述】:

我想为非管理员用户禁用表单选择选项,所以我编写了如下代码,在元素禁用后,列表填充但在提交后变量中没有值... $_POST['abc']是空的...我们不能通过 post 变量读取禁用元素的内容值吗?

    <HTML>
    <body>
    <form>
    <select name="abc" id="abc" $disable>
            <?php 
          foreach ($list as $value) {
           echo("<option>$value</option>");   
          } ?>      
    </select>
<input type="submit" name="submit" id="Show" value="Show">
    </form>
    </body>
    </HTML>

【问题讨论】:

  • 你要打印$disable: &lt;select name="abc" id="abc" &lt;?php echo $disable;?&gt; &gt;
  • 1.您确定 $list 是一个数组并已填充吗? 2.你的echo不需要括号。

标签: php html forms


【解决方案1】:

试试这个,你不会回显 $disable 变量。

<HTML>
<body>
<form>
<select name="abc" id="abc" <?=$disable ?> >
        <?php 
      foreach ($list as $value) {
       echo("<option>$value</option>");   
      } ?>      
</select>
</form>
</body>
</HTML>

【讨论】:

  • 谢谢,这里还有一个问题,列表已填充,但提交后 post 变量中没有值... $_POST['abc'] 为空...我们不能读取禁用元素的内容值通过 post 变量?
  • 带有 disabled 属性的表单字段不会在 post 数组中发送它们的值,不妨看看这个问题:stackoverflow.com/questions/1191113/…
【解决方案2】:

试试这个:

<HTML>
<body>
<form>
<select name="abc" id="abc" >
        <?php 
      foreach ($list as $value) { ?>
       <option value = "<?php echo $value; ?>"><?php echo $value; ?></option>
      <?php } ?>      
</select>
</form>
</body>
</HTML>

【讨论】:

  • 凌乱但我明白你关于价值的观点。也许foreach ($list as $k =&gt; $v) { echo '&lt;option value="'.$v.'"&gt;'.$v.'&lt;/option&gt;';}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多