使用Bootstrap Modals上传表单数据

时间:2018-03-10 03:39:14

标签: javascript node.js forms bootstrap-modal

我的网页中有一个包含表单的模态。我已经设置了表单操作和所需的输入,如下所示:

<div class="modal fade" id="addCategory" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title" id="myModalLabel">Add Category</h4>
                </div>
                <div class="modal-body">
                    <form action="/add-category" method="post" enctype="multipart/form-data">
                        <div class="form-group">
                            <label>Title</label>
                            <input class="form-control" type="text" placeholder="Category Title"> <br>

                            <label>Upload Image</label>
                            <input class="form-control" type="file" accept="image/*" id="selImg"  onchange="showImage.call(this)">
                            <img src="#" id="imgPreview" style="display: none; height: 100px; width: 100px">

                        </div>
                    </form>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="submit" class="btn btn-primary">Save</button>  // save details to form action endpoint, close modal and refresh the page
                </div>
            </div>

问题出在点击保存按钮时,它带有自举模式。我想在单击按钮后提交表单刷新页面。我使用node backend,如果我使用dom收听按钮上的事件点击,请向我解释。

我该怎么做? 感谢。

1 个答案:

答案 0 :(得分:0)

您需要确保<button type="submit" class="btn btn-primary">Save</button>位于<form>标记内,并且您应该全部设置好。现在它没有提交表格并因此而触发你想要的刷新。

另一个解决方案是利用Bootstrap Modal的事件:

$('#myModal').on('hidden.bs.modal', function () {
  $('#myForm').trigger('submit')
})