Я попытался создать форму SweetAlert с 3 входами (имя, адрес электронной почты, текст). Эта форма после отправки должна отправить данные формы на электронную почту администратора. Я сделал это, и все работает! Но я уверен, что код моего контроллера недействителен.
CMS: OpenCart 2.3 + SweetAlert 2.
Вот форма SweetAlert + запрос Ajax:
<script type="text/javascript">
window.onload = function () {
var a = document.getElementById('director');
a.onclick = function() {
Swal({
type: 'warning',
title: 'Your message',
html:
'<input name="name" id="swal-input1" class="swal2-input" placeholder="Your name">' +
'<input name="email" id="swal-input2" class="swal2-input" placeholder="Email">' +
'<textarea name="text" id="swal-textarea1" class="swal2-textarea" placeholder="Enter your text..." style="display: flex;"></textarea>',
showCancelButton: true,
confirmButtonColor: '#ff5908',
cancelButtonColor: '#666',
confirmButtonText: 'Send',
cancelButtonText: 'Cancel',
preConfirm: function () {
return new Promise(function (resolve) {
resolve([
$('#swal-input1').val(),
$('#swal-input2').val(),
$('#swal-textarea1').val()
])
})
},
}).then(function (result) {
if (result.value) {
var result = {};
result.name = $('#swal-input1').val();
result.email = $('#swal-input2').val();
result.text = $('#swal-textarea1').val();
var data = JSON.stringify(result);
$.ajax({
url:"index.php?route=common/message/index",
type: "post",
data: data,
dataType: "json",
success: function() {Swal({type: 'success', text: 'Message sent'});},
error: function(xhr,status,error){
console.log(status);
console.log(error);
}
})
}
})
return false;
}
}
</script>
Задача ещё не решена.
Других решений пока нет …