我正在尝试实现 sweetalert2但由于某种原因,它不应用常规的 html 验证(即 required='true' 不起作用), 我没有收到该字段为空的错误。
如果没有 swall2,它确实会提示我该字段为空的错误。
此外,一旦我在 swall 对话框中确认我要继续(“是的,提交它!”),它就不会提交表单。
我错过了什么?
HTML:
<form>
<label>Last Name</label>
<input type="text" required="true"/>
<input class="btnn" type="submit" name="submit" id="btn-submit"/>
</form>
Javascript:
$('#btn-submit').on('click', function(e) {
e.preventDefault();
var form = $('form');
swal.fire({
title: "Are you sure?",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, submit it!",
closeOnConfirm: false
}, function(isConfirm) {
if (isConfirm) form.submit();
});
});
最佳答案
文档说在迁移到 sweetalert2 后,结构已经从回调方法发生了变化
swal(
{title: 'Are you sure?', showCancelButton: true}, function(isConfirm) {
if (isConfirm) {
// handle confirm
} else {
// handle all other cases
}
}
)
基于 promise 的方法
Swal.fire({title: 'Are you sure?', showCancelButton: true}).then(result => {
if (result.value) {
// handle Confirm button click
// result.value will contain `true` or the input value
} else {
// handle dismissals
// result.dismiss can be 'cancel', 'overlay', 'esc' or 'timer'
}
})
关于javascript - Sweetalert - 验证不起作用+表单未提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56525049/