在这里,我有一个Bootstrap模式。我的要求是,当我使用“提交”按钮成功提交表单时,我想在几秒钟后关闭模式。这里的问题是当我在输入中输入一些文本而不是整数时,或者如果我输入了一些无效的输入,然后当我单击“提交”按钮时,输入字段就会显示错误,并且模式会在几秒钟后立即关闭。
如果在单击“提交”按钮时输入字段无效,我不想关闭Bootstrap模式。
我该怎么办?
编辑:它与有效的输入完美配合。
html
<div class="modal-body">
<form action="">
<input type="number" name="rows" min="0" value="0" max="10" required><br>
<button type="submit" id="my_button" class="btn btn-info btn-sm">Submit</button>
</form>
</div>
脚本
<script>
$('#my_button').click(function() {
setTimeout(function() {$('#myModal').modal('hide');}, 4000);
});
</script>
答案 0 :(得分:3)
如果表单具有无效值,请不要设置超时:
$('#my_button').click(function() {
if ( ! $('form input:invalid' ).length ) {
setTimeout(function() {$('#myModal').modal('hide');}, 4000);
}
});
答案 1 :(得分:0)
请尝试此代码段
<div class="modal-body">
<form action="">
<input type="number" name="rows" min="0" value="0" max="10" required><br>
<button type="submit" id="my_button" class="btn btn-info btn-sm">Submit</button>
</form>
</div>
<script>
$('#my_button').click(function() {
setTimeout(function() {$('#myModal').modal('toggle');}, 4000);
});
</script>