带有size属性的选择框是否与$ _POST一起使用?

时间:2012-09-06 01:19:32

标签: php html size html-form

我可以相当直接地使用SQL和PHP来生成一个选择框。我最初有一个带有size属性的选择框,但无法弄清楚为什么表单提交后的$_POST总是未设置。最终我在没有size属性的情况下尝试了它,并且它起作用了。为了确认,我回到了我原定的选择框,设置了一个尺寸属性,注意到它未能设置$_POST变量,然后我做的唯一事情是从标签中删除size='10' ,它按预期工作。

以下是具有该属性的代码。

<select name='select_news' size='10'>
  <?php
    foreach($news_dates_list as $date)
    {
      echo ("<option value='".$date['month']."/".$date['day']."/".$date['year']."'>".$date['month']."/".$date['day']."/".$date['year']."</option>");
    }
  ?>
</select>

提交表单并尝试访问$_POST['select_news']时,会产生以下错误:

  

注意:未定义的索引:第310行的C:\ website \ admin \ index.php中的select_news。当我只删除“size = '10'”部分时,它不会生成错误并按预期工作。< / p>

因此,我只是想确认当您尝试通过$_POST访问选择框时,选择框中的尺寸属性是否正确导致选择框出现故障。如果不应该有这种效果,有谁知道可能导致这种情况的原因?

2 个答案:

答案 0 :(得分:0)

不是你问题的答案,而是改变:

echo ("<option value='".$date['month']."/".$date['day']."/".$date['year']."'>".$date['month']."/".$date['day']."/".$date['year']."</option>");

要:

echo "<option value='{$date['month']}/{$date['day']}/{$date['year']}'>{$date['month']}/{$date['day']}/{$date['year']}</option>";

即。不要在echo中使用括号,并使用{}在引用的字符串中插入变量,而不必经常启动/停止字符串。


大小与返回的内容无关。其他的东西正在改变。我建议两件事:

  1. 看一下生成的soruce代码 - 也许你以某种方式搞砸了你的引用。
  2. 执行print_r($_RESULT)并查看
  3. 的内容

答案 1 :(得分:0)

尝试将名称从select_news更改为select_news[],就像您有多个具有相同名称的复选框一样。