我之前已经知道这样的问题了,但是我无法找到问题的正确答案。
在HTML表单中,我有一个名为“custnames”的选择列表(下拉列表),它从数据库填充(在PHP中)。
HTML页面保存为tpl文件,因为我使用Smarty。
单击下拉列表选择框时,列表中的所有值(custnames)都会正确显示。
当我点击提交按钮时,我无法从选择列表中将所选名称输入$ _POST [“custnames”]。 $ _POST [“custnames”]唯一拥有的是选择列表中所选选项的索引号。
如何从下拉列表中将所选名称输入$ _POST [“custnames”]而不是该名称的索引号。
所有其他字段也有Smarty标记,并且可以与各自的$ _POST []
一起使用我在网上搜索了很长时间并尝试了很多东西但到目前为止没有任何作用。
我使用相同的代码,例如来自关于Smarty的学习手册的示例。 HTML(Smarty)代码:
<td colspan="2">
<select name="custnames" class="gewonetekst" id="custnames">
{html_options options=$custnames selected=$cust}
</select>
</td>
该列表是从工作正常的数据库填充的。
PHP代码:
$klt_array = array();
while ($row = mysql_fetch_assoc($result))
{
$klt_array[] = $row[name]
}
$m_objSmarty->assign('custnames', $klt_array);
当我点击选择列表时,我会在选择(下拉列表)列表中正确看到所有名称。
所有其他(Smarty)字段都可以正常使用它们的相应$ _POST []来处理这个字段。
T.i.a。
问候,
荷兰蒂诺。
答案 0 :(得分:0)
好像你没有用适当的值设置custnames选项标签的“value”属性。
检查它们是否定义为
<option value="My_custname_1">My_custname_1</option>
当然不是。如果您希望收到与显示相同的内容,则应在smarty模板中的选项标记和值属性中放置相同的标记