【发布时间】:2022-01-21 20:45:06
【问题描述】:
在我的 WordPress v5.8.2 中,我在 Bootstrap modal v4 中有一个自定义 HTML 表单。
<!-- Modal -->
<div class="modal fade" id="modal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form id="form" method="POST" class="form">
<input id="name" name="name" class="form-control" type="text" placeholder="Full Name" value="">
<button type="submit" name="form_submit" id="form_submit" class="btn">Submit</button>
</form>
</div>
<div class="modal-footer">
<div id="confirm" class="row d-none">
<div class="col-12 text-center">
<div id="alert" role="alert"></div>
</div>
</div>
</div>
</div>
</div>
</div>
为了用户体验,希望在表单提交后在 div #confirm 中使用以下 jQuery 显示 2 秒的确认消息:
$(document).on("submit", "#form", function(e) {
$name = $(this).find('input[name=name]').val(); // Name
$("#alert").text('Thank you ' + $name + '.');
$("#confirm").removeClass("d-none");
setTimeout(function() {
$("#modal").modal('hide');
}, 2000);
});
我想在模态框隐藏之前按住 2 秒钟,这样我就可以在 #confirm div 中显示消息。但是模态会立即关闭。
【问题讨论】:
-
您是在尝试响应提交事件的完成,还是只是在提交表单时显示某种消息?
-
此感谢信息将在单击提交按钮时显示为表单提交确认,此按钮只有在通过其他功能验证表单后才会启用。
-
您可以参考Prevent Default on Form Submit jQuery 来捕捉提交事件,然后使用ajax 提交您的表单。
-
@LamTranDuc 虽然我想做非 ajax 方式来保持代码简单,但它总是回到 ajax 以使其简单:)。
-
@theKing 你的问题解决了吗?