Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表格';选择';返回错误值的元素_Php_Html_Forms - Fatal编程技术网

Php 表格';选择';返回错误值的元素

Php 表格';选择';返回错误值的元素,php,html,forms,Php,Html,Forms,您好,我有一个表单选择元素,如下所示: <select name="color" id="color"> <option value="1" label="Red">Red</option> <option value="2" label="Green">Green</option> <option value="3" label="Blue">Blue</option> </sel

您好,我有一个表单选择元素,如下所示:

<select name="color" id="color">
    <option value="1" label="Red">Red</option>
    <option value="2" label="Green">Green</option>
    <option value="3" label="Blue">Blue</option>
</select>

您的代码似乎有效,但标签可能会干扰某些内容。因为您不需要它(您使用的文本与选项标记之间的文本相同),所以我建议您删除它

试着这样做:

<select name="color" id="color">
  <option value="1">Red</option>
  <option value="2">Green</option>
  <option value="3">Blue</option>
</select>

红色
绿色
蓝色
一些

定义和用法 “标签”属性指定选项的较短版本

较短的版本将显示在下拉列表中


虽然问题中没有提供任何人可以回答的信息,但问题的解决方案是:

表单元素是在Zend Framework中作为Zend_Dojo_form_element_组合框创建的,我在文档中找到了以下信息:

组合框返回标签值,而不是选项值 可能导致期望值的脱节。因此,组合框 不要自动注册InArray验证程序(尽管FilteringSelects 做)

将元素更改为Zend_Dojo_Form_element_FilteringSelect,问题得到解决,现在工作正常


感谢@devdRew,他提出了一个正确的问题,让我想到dojo/dijit会更改发布内容的值。

我无法用简单的形式仅使用选择代码复制此内容……您确定您没有在某个地方重置它,或者使用相同的命名输入或其他内容吗?你能给我们提供所有的代码吗?不仅仅是PHP,所有的html表单,因为你可以用另一个同名输入中的值替换POST值。尝试删除
标签
属性。啊哈,修改注释是我的通风报信。我复制了我认为相关的代码,但是我忘记了这是一个支持dijit的表单元素(edit解释得更好)。我将回到文档中,找到我在这里遗漏的部分。注意-->该表单实际上是作为Zend_Dojo_表单生成的。
<select name="color" id="color">
  <option value="1">Red</option>
  <option value="2">Green</option>
  <option value="3">Blue</option>
</select>