如何解决Django和Javascript提交了表单?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (75)

我想得到一些帮助,以便找到一种方法submit 2 forms,第一个与我Javascript的第二个。DjangoHTML template

我的HTML模板中有类似的内容:

<form method="post" id="customerform" novalidate>
    ...
    <form action="" method="get" id="search-form">
        ...
        <input type="submit" class="btn btn-danger" id="submit-choice" name="SubmitChoice" value="{% trans 'Search' %}"/>
    </form>
    <input type="submit" class="btn btn-default" value="{% trans 'Save' %}"/>
</form>

第一种形式是我的重要Django form,我有一个研究表格。该研究表格应提交给Javascript component

我写了这个,但它不起作用:

<script>
  var form = document.getElementById("search-form");

  document.getElementById("submit-choice").addEventListener("click", function () {
    form.submit();
  });
</script>

结果:

当我提交第二个表格时id=search-form,第一个表格中的字段是空的,我得到一个消息:this field is mandatory

提问于
用户回答回答于

这不起作用,你不能嵌套表单元素:https//www.w3.org/TR/html5/forms.html#the-form-element

4.10.3。表单元素 ... 内容模型: 流内容,但没有表单元素后代。

form元素不应该被嵌套到彼此,那么就应该按预期工作,如

<form method="post" id="customerform" novalidate>
    ...
    <input type="submit" class="btn btn-default" value="{% trans 'Save' %}"/>
</form>
<form action="" method="get" id="search-form">
    ...
    <input type="submit" class="btn btn-danger" id="submit-choice" name="SubmitChoice" value="{% trans 'Search' %}"/>
</form>

扫码关注云+社区

领取腾讯云代金券