javascript - 无法提交隐藏输入的值

标签 javascript jquery bootstrap-4 bootstrap-modal

我有一个这样的表格:

$(document).ready(function() {
  $('#create_lop_monhoc_modal').on('show.bs.modal', function(event) {
    var button = $(event.relatedTarget)
    var tenmh = button.data('tenmh')
    var mamh = button.data('mamh')
    var modal = $(this)
    modal.find('#input_tenmh').val(tenmh).trigger("change")
    modal.find('#tenmh').text(tenmh).trigger("change")
    modal.find('#input_mamh').val(mamh).trigger("change")
  })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<div class="modal fade " id="create_lop_monhoc_modal">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      <form action="/monhoc" method="POST">
        <input type="hidden" value="" id="input_mamh" name="mamh" />
        <input type="hidden" value="" id="input_tenmh" name="tenmh" />
        <div class="modal-body">
          <h4 id="mamh"></h4>
          <div>
            <div class="modal-footer">
              <button type="submit" class="btn btn-success">Crate</button>
            </div>
          </div>
        </div>
      </form>
    </div>
  </div>
</div>

<button type="button" data-toggle="modal" data-target="#create_lop_monhoc_modal" data-tenmh="tenmh" data-mamh="mamh">                   
  Open Modal
</button>

当我单击“打开模态”时,输入隐藏的值被放置,但是当我提交该表单时,它的值不是提交。当我点击浏览器的后退按钮并再次提交时,本次提交成功!

不知道为什么,请帮忙!!

最佳答案

我认为我的问题是由另一个 javascript 库引起的,即 bootstrap-datepicker.js。因为当我单击日期选择器输入时,它的值会被重置。

我通过删除日期选择器并尝试再次提交解决了这个问题,它正在工作。 在你的问题中,我认为不再需要 .trigger("change") :

modal.find('#input_tenmh').val('tenmh').trigger("change")
modal.find('#tenmh').text('tenmh').trigger("change")
modal.find('#input_mamh').val('mamh').trigger("change")

之后:

modal.find('#input_tenmh').val('tenmh')
modal.find('#tenmh').text('tenmh')
modal.find('#input_mamh').val('mamh')

谢谢大家!

关于javascript - 无法提交隐藏输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53702996/

相关文章:

javascript - Chrome 在触摸板上点击会触发 mouseleave

javascript - 如何将复杂数组声明为另一个属性 Typescript 的属性

javascript - 在转到其他页面之前检查复选框是否已选中

javascript - 具有背景大小的动画背景图像 - jsfiddle 更新

javascript - 触发嵌套点击事件

html - 增加 Bootstrap 4 表格的列宽

javascript - 如何从谷歌地图中删除额外信息

javascript - If Else 语句灾难

javascript - 无法将 jquery/ajax 集成到 django 项目中

css - 带有 bootstrap 4 + Angular Material 8 网格的 Angular 8 元素