在div中以</select>的形式提交<select>字段的值

时间:2014-05-15 14:12:51

标签: javascript php html forms

我正在尝试提交表格的价值 但是除了<select>字段之外的所有值都没有提交,因为我认为它的内部div元素如下面的代码所示

<form action="next.php" method="post">
     <input>....
     <input>....
     <input>....
     <select name="asdf"> <!--This field submitted successfully -->
         <option value="wtevr"> </option>
         <option value="wtevr2"> </option>..........
     </select>
     <div>
         <select name="asdf2"> <!--problem is here submitting this field -->
             <option value="wtevr11"> </option>
             <option value="wtevr22"> </option>..........
         </select>
     </div>
</form>

我使用div,因为这是我的ajax代码的一部分,通过它我可以更新选择字段中的值。

是否有任何替代方案可以提交此select字段表单?

我的做法:

我认为,如果我在此表单中使用hidden input字段,其值在提交表单之前等于select字段的值,则会有一个解决方案。

<input type="hidden" value="<!--comes from JavaScript code -->">

我是JavaScript的新手,所以感谢任何帮助..

3 个答案:

答案 0 :(得分:1)

您可以使用:

<select name="asdf2" id="asdf2" onchange="setField();">
            <option value="this">this</option>
            <option value="that">that</option>
        </select>
        <input type="hidden" id="hiddenField" value="nothingYet">
<script type="text/JavaScript" language="JavaScript">
function setField() {
            toWhat = document.getElementById("asdf2").value
            document.getElementById("hiddenField").value = toWhat;
        }
</script>

无论如何。如果您所做的只是提交表单,那么实际上没有理由忽略该值。你是如何检索这些值的?

答案 1 :(得分:0)

在输入中使用'name'标记,然后提交它们。 像这样:

<form action="next.php" method="post">
<input name="foo" value="var"/>
</form>

答案 2 :(得分:0)

<select>标记具有一个名为[form =“”]的属性。 这样,您可以将其分配给表单元素。 提交表单后,将包含select元素。

<form name="myform">
    <input type="text" name =...>
    <select name="selectelement" form="myform">
    <input type="submit">
</form>