Php HTML选择仅返回第一个选项
我在同一个页面上有几个HTMLPhp HTML选择仅返回第一个选项,php,html,codeigniter,Php,Html,Codeigniter,我在同一个页面上有几个HTML下拉列表,它们在稍微不同的上下文中使用。它们都使用相同的选项数据,这些数据存储在从数据库查询构建的php变量中,并从该变量中回显 我遇到的问题是,一个运行并返回所选值,而另一个只返回第一个选项的值 这是我对有效的一个的标记: <select name="Home_State" id="Home_State"> <?php echo $states;?> </select> <option value="1">AL
下拉列表,它们在稍微不同的上下文中使用。它们都使用相同的选项数据,这些数据存储在从数据库查询构建的php变量中,并从该变量中回显
我遇到的问题是,一个运行并返回所选值,而另一个只返回第一个选项的值
这是我对有效的一个的标记:
<select name="Home_State" id="Home_State">
<?php echo $states;?>
</select>
<option value="1">AL</option><option value="2">AK</option><option value="4">AZ</option><option value="5">AR</option><option value="6">CA</option><option value="8">CO</option><option value="9">CT</option><option value="10">DE</option><option value="11">DC</option><option value="12">FL</option><option value="13">GA</option><option value="15">HI</option><option value="16">ID</option><option value="17">IL</option><option value="18">IN</option><option value="19">IA</option><option value="20">KS</option><option value="21">KY</option><option value="22">LA</option><option value="23">ME</option><option value="24">MD</option><option value="25">MA</option><option value="26">MI</option><option value="27">MN</option><option value="28">MS</option><option value="29">MO</option><option value="30">MT</option><option value="31">NE</option><option value="32">NV</option><option value="33">NH</option><option value="34">NJ</option><option value="35">NM</option><option value="36">NY</option><option value="37">NC</option><option value="38">ND</option><option value="39">OH</option><option value="40">OK</option><option value="41">OR</option><option value="42">PA</option><option value="44">RI</option><option value="45">SC</option><option value="46">SD</option><option value="47">TN</option><option value="48">TX</option><option value="49">UT</option><option value="50">VT</option><option value="51">VA</option><option value="53">WA</option><option value="54">WV</option><option value="55">WI</option><option value="56">WY</option>
返回第一个选项的值,而不管选择了哪个选项。啊,我刚刚设法解码了您实际提出的问题,因为问题很不清楚 第一个选项指的是HTML的第一块(已重复,稍后在页面中使用不同的名称/id),而不是第一个
标记
实际上我已经编写了一个测试程序,有尾随/、没有尾随/、有默认选项(如AZ
),但我仍然无法让它只返回第一个select标记中的选项。当Iprint\r($\u POST)
时,它们返回单独的ID
因此,我相信你的问题可能在别处
.....
如果第一次选择的尾随/修复了它,请在短期内这样做,直到你能弄清楚到底发生了什么。在你没有陷入困境之后,集中精力解决这个谜团。此外,对于multiselect,我认为您的name属性的末尾应该有[],以指示它将包含一个值数组,即name=“Mail\u State[]”一些内容:
- 您的第一次选择在开始标记的末尾包含一个
。这将影响数据的提交方式/
- 可以发布页面的最终HTML(PHP的输出)吗。您所拥有的没有多大帮助,因为我们不知道选择中的选项是什么。还包括表单表
- 检查是否存在同名的任何其他字段
- 尝试在您要提交的页面顶部执行
,以查看值。(您使用的类可能也不支持倍数。)print\r($\u REQUEST)
$Home_State = $this->input->post('Home_State');
$Mail_State = $this->input->post('Mail_State');
在你看来:
echo form_dropdown('Home_state', $states, $Home_State);
echo form_dropdown('Mail_State', $states, $Mail_State);
是否有其他表单输入在表单中也具有相同的名称?我有时也会这样。我忘了在复制和粘贴多个表单输入后,我没有更改其他表单名称。其他下拉列表是否可能在表单之外声明?能否为每个代码段包含生成的HTML输出外观?第一个“”后面的/是XHTML以关闭标记(主要对“
”和“
”有用)-因此,没有列出选择选项,只列出了不好的XHTML。我没有注意到我远程了/并且该选项仍然有效。也可以从您的问题中删除它。请不要劫持我的问题我没有注意到我在开始标记中有一个/,我删除了它并且该选项仍然有效
$Mail_State = $this->input->post('Mail_State');
echo $Mail_State
<select name="var[]" multiple="yes">
.....
</select>
$Home_State = $this->input->post('Home_State');
$Mail_State = $this->input->post('Mail_State');
echo form_dropdown('Home_state', $states, $Home_State);
echo form_dropdown('Mail_State', $states, $Mail_State);