Saat menggunakan swal.stopLoading()
dengan closeModal: false
, swal benar-benar berhenti berfungsi jika mencoba menekan konfirmasi lagi. Ini terjadi pada saya ketika saya menghentikan proses pemuatan ketika input SWAL gagal memvalidasi - menekan konfirmasi untuk kedua kalinya tidak lagi berpengaruh (terjebak dalam status pemuatan permanen, tetapi tidak mengaktifkan acara .then()
lagi ). Pada dasarnya saya mencoba untuk meniru swal.showInputError()
yang sudah usang, tetapi saya tidak bisa.
contoh:
swal({
icon: "info",
title: "Feedback",
content: content, // This is an Input Form, with an element trailing that will hold errors.
buttons: {
cancel: "Go back",
confirm: {
text: "Leave feedback",
closeModal: false
}
}
})
.then(function (isConfirmed) {
if (isConfirmed) {
var $feedbackForm = $('#js-Form'),
feedbackLength = $feedbackForm.find('input[name="feedback"]').val().length,
$swalErrorMsg = $('.js-swalError');
if (feedbackLength < 5) {
swal.stopLoading();
$swalErrorMsg.html("Feedback needs to be at least 5 characters long!");
$swalErrorMsg.show();
} else {
$feedbackForm.submit();
}
}
})
Punya masalah yang sama..
Memiliki masalah yang sama, juga. Dan rekan saya menemukan trik untuk menangani masalah ini. Mungkin Anda bisa mencoba:
var config = {
icon: 'info',
title: 'test',
buttons: {
cancel: {
text: 'Go back',
visible: true,
value: false,
},
confirm: {
text: 'Leave feedback',
value: true,
closeModal: false
}
}
};
var doSomething = () => { console.log('aaa'); };
(function trick() {
swal(config).then(isConfirm => {
if (isConfirm) {
doSomething();
swal.stopLoading();
trick();
} else {
swal.close();
}
})
})();
@ Hybridx24 inilah solusi yang saya gunakan untuk menyelesaikan masalah yang sama persis ini:
https://codepen.io/mbezhanov/pen/japOaJ
Yang ingin saya katakan adalah: jangan gunakan objek Promise yang swal()
kembalikan untuk mengeluarkan permintaan AJAX Anda. Sebagai gantinya - lampirkan penangan klik khusus Anda sendiri ke tombol Kirim, dan keluarkan permintaan AJAX di penangan itu (menggunakan jQuery, Axios, atau apa pun)
Mudah-mudahan, Anda akan menemukan ini berguna.
Saya mengalami masalah yang sama juga. Adakah ide jika bug ini akan diperbaiki dalam waktu dekat?
@Dixiat Terima kasih banyak untuk proses ini. itu bekerja dengan sempurna. Ini sudah tahun 2020, dan saya harus menggali posting 2017 untuk menemukan jawaban saya untuk masalah ini. ha ha ha ha
Memiliki masalah yang sama, juga. Dan rekan saya menemukan trik untuk menangani masalah ini. Mungkin Anda bisa mencoba:
var config = { icon: 'info', title: 'test', buttons: { cancel: { text: 'Go back', visible: true, value: false, }, confirm: { text: 'Leave feedback', value: true, closeModal: false } } }; var doSomething = () => { console.log('aaa'); }; (function trick() { swal(config).then(isConfirm => { if (isConfirm) { doSomething(); swal.stopLoading(); trick(); } else { swal.close(); } }) })();
Terima kasih. Saya sudah pindah ke SweetAlert2. Ini bekerja jauh lebih baik dalam hal ini.
Saya memiliki masalah yang sama di SA2 =(
Saya kira saya akan santai saja karena itu tidak menyebabkan crash
Komentar yang paling membantu
Memiliki masalah yang sama, juga. Dan rekan saya menemukan trik untuk menangani masalah ini. Mungkin Anda bisa mencoba: