Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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
Javascript 选择列表已正确填充,但值未包含在POST中_Javascript_Html - Fatal编程技术网

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:)我很感谢你的帮助,但它还没有修复它。它现在按照你的建议做了,但仍然不起作用。