Javascript 选择列表已正确填充,但值未包含在POST中
我有一个网页,当从第一个下拉框中选择一个项目时,它使用Javascript 选择列表已正确填充,但值未包含在POST中,javascript,html,Javascript,Html,我有一个网页,当从第一个下拉框中选择一个项目时,它使用JavaScript函数填充第二个下拉框。该函数将创建第二个下拉列表,用于更改以下内容: <td> <form action="http://website/addToDepartment.php" method="post"> <div id="nondepartment"> </div> </td> 为此: <td> <form action="http:
JavaScript
函数填充第二个下拉框。该函数将创建第二个下拉列表,用于更改以下内容:
<td>
<form action="http://website/addToDepartment.php" method="post">
<div id="nondepartment">
</div>
</td>
为此:
<td>
<form action="http://website/addToDepartment.php" method="post">
<div id="nondepartment">
<select name="personName">
<option value="Bob" name="personName">Bob</option>
<option value="Jim" name="personName">Jim</option>
<option value="Tom" name="personName">Tom</option>
</select>
</div>
</td>
上下快速移动
吉姆
汤姆
我的问题是,当按下表单按钮时,它不会发布从创建的列表中选择的personName值。如果我手动编写完全相同的代码,因此不调用该函数,那么它就可以工作。如果我使用函数来创建列表,它不会(根本不会发布任何字符串)。为什么会这样?您可能与
name
属性有冲突。从所有选项中删除name
属性;您只需要在select
元素上使用它。此外,确保(建议使用Firebug)您在上面给出的标记确实是生成的标记;我以前遇到过注入元素不在
标记中的情况,这取决于它有时的使用方式。您没有关闭表单标记。也许这就是你的问题所在
HTML生成的内容应该可以发布您的值。可能是因为表单未关闭,浏览器将在您不希望的位置为您关闭表单
另外,您只需要选择一个name属性。试试这个
<td>
<form action="http://website/addToDepartment.php" method="post">
<div id="nondepartment">
</div>
</form>
</td>
<td>
<form action="http://website/addToDepartment.php" method="post">
<div id="nondepartment">
<select name="personName">
<option value="Bob" >Bob</option>
<option value="Jim" >Jim</option>
<option value="Tom" >Tom</option>
</select>
</div>
</form>
</td>
上下快速移动
吉姆
汤姆
选项元素不应该有name属性。@如果问题解决,Richard也接受答案。。thnks:)我很感谢你的帮助,但它还没有修复它。它现在按照你的建议做了,但仍然不起作用。