【问题标题】:submitting value of <select> field inside div in form在表单中提交 div 内 <select> 字段的值
【发布时间】:2014-05-15 14:12:51
【问题描述】:

我正在尝试提交表单值。
但是除了&lt;select&gt; 字段之外的所有值都没有提交,因为我认为它的内部 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 字段,其值在提交表单之前等于选择字段的值,我认为有一个解决方案。

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

我是 JavaScript 新手,因此不胜感激..

【问题讨论】:

  • '值 (...) 未提交' - 你确定吗?我们可以从 next.php 中看到您的 $_POST 数组吗(使用 print_r($_POST)
  • 还显示您用于在选择中设置值的 javascript 位。谢谢。
  • 表单提交是否正常,还是尝试ajax提交?
  • 他们序列化得很好。看看控制台。 jsbin.com/zaruceke/1/edit
  • 对不起,我发现问题出在我的 ajax 代码上,我修复了它。感谢@Gwenc37 提供print_r 代码建议和@user574632 指出我的ajax 代码和所有其他人

标签: javascript php html forms


【解决方案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>

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

【讨论】:

  • 好吧,现在你知道了一个新的 JS 技巧,你可以在未来使用。我想你会发现这样的事情在你不使用 jQuery 时非常常见。
【解决方案2】:

在您的输入中使用“名称”标签,然后它们将被提交。 像这样:

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

【讨论】:

  • 他专门询问第二个选择字段,它确实有一个名称属性。
【解决方案3】:

&lt;select&gt; 标记有一个名为 [form=""] 的属性。 有了它,您可以将其分配给表单元素。 提交表单时,将包含 select 元素。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 2021-09-01
    相关资源
    最近更新 更多