【问题标题】:Why won't my JavaScript submit forms?为什么我的 JavaScript 不能提交表单?
【发布时间】:2017-12-04 03:12:24
【问题描述】:

基本上,我正在尝试使用 JavaScript 提交几个表单元素。这是表单本身的代码:

<form method="post" action="opmod.php" name="gender">
<p class="type">Gender:</p>
<input list="genderList" required>
<datalist  id="genderList">
    <option value="Male"></option>
    <option value="Female"></option>
</datalist>
</input>
</form>
<form method="post" action="opmod.php" name="race">
<p class="type">Race:</p>
<input list="raceList" required>
<datalist  id="raceList">
    <option value="White"></option>
    <option value="Black"></option>
    <option value="Asian"></option>
    <option value="Hispanic"></option>
    <option value="American Indian"></option>
    <option value="Other"></option>
</datalist>
</input>
</form>

但是,当我使用这个脚本提交它时,什么也没有发生:

submitInp=function(){
    document.forms["state"].submit();
    document.forms["age"].submit();
    document.forms["gender"].submit();
    document.forms["race"].submit();
    document.cookie="infoGiven=true;expires="+(today.getTime() + 60 * 24 * 3600 * 1000)+";path=/";
}

我也尝试过将“ids”添加到表单元素,使用“document.getElementById”获取这些元素,然后提交它们,但没有任何效果。我的问题是什么?如何解决?

【问题讨论】:

  • 第一个表单(“状态”)提交后,页面将通过 POST 导航到 opmod.php(假设这是该表单的操作和方法)。由于页面已导航离开,因此不会提交其他表单
  • 您确定您不想要一个包含所有各种输入的表单吗?您只需将name 属性添加到&lt;input&gt; 元素

标签: javascript php jquery html forms


【解决方案1】:

您可以只使用一个表单而不是使用多个表单,在您提交第一个表单后,它将导航到 opmod.php

<form method="post" action="opmod.php" name="data" id="data">
    //Put your inputs here
    //state inputs
    //age inputs
    //gender inputs
    //race inputs
</form>

并在您的 javascript 中使用:

document.getElementById("data").submit();

【讨论】:

  • 这会提交什么? $_POST["data"] 会返回什么?
  • @Damphair 在你的inputs 中添加一个name。例如:name="genderList"。提交表单后尝试print_rvardump $_POST。这样你就可以看到数据是否提交了。
  • 我尝试在输入并提交后回显 $_POST['state'],但我什么也没得到;只是一个错误说 $_POST['state'] 没有定义。这是为什么?我已经按照你说的添加了名字。
  • @Damphair 请先尝试var_dumpprint_r $_POST 看看是否有数据。并发布输出
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-04
  • 1970-01-01
  • 2019-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多