首页 > 解决方案 > 在模态中使用时提交按钮的值不通过

问题描述

表单中有一个按钮(如下所示)。当在常规(如果您想将其称为常规)Django 模板化 HTML 页面中使用时,该按钮会正确地将其传递value给下面的代码。submit

<button type="submit" class="btn btn-primary" name="revoke" value="1" form="my-form">Revoke</button>

序列化的数据将包含revoke及其value

`$('#my-form').on('submit', function(event) {
        event.preventDefault();
        console.log($(this).serialize());

但是,如果表单嵌入在 Bootstrap 4 提供的模式中,则序列化数据具有其余的表单数据,但没有revoke. 如果按钮也通过了,那就太好了revoke

标签: htmljqueryformsdjango-templatesbootstrap-modal

解决方案


serialize()方法创建一个带有参数分隔的字符串时,&您也可以附加按钮的值,"&revoke=" + $("[name=revoke]").val()然后这也将传递到您的后端页面。

演示代码

$('#my-form').on('submit', function(event) {
  event.preventDefault();
  //attch revoke as well
  var formdatas = $(this).serialize() + "&revoke=" + $("[name=revoke]").val();
  console.log(formdatas)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="my-form">
  <input type="text" name="acd">
  <input type="text" name="acd1">
  <button type="submit" class="btn btn-primary" name="revoke" value="1" form="my-form">Revoke</button>
</form>


推荐阅读