#javascript #ruby-on-rails #sweetalert #sweetalert2
#javascript #ruby-on-rails #sweetalert #sweetalert2
Вопрос:
Я не уверен, почему ok или cancel ничего не делают, в любом случае я хочу, когда кто-то нажимает на ok, чтобы перенаправить его на ссылку
<div class="popup" onclick="sweetalertclick()">
<p id="center"><%= image_tag "pickup.png" ,width: "80px"%><br>
<span onclick="sweetalertclick()"></span>Request a DDS pick u
</span>
</p>
</div>
<script>
function sweetalertclick() {
swal({
title: "Request a DDS",
text: "Please log in to DDS website to request a pick up, my code is: xxxx. By pressing ok you will link to google.com",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Ok",
cancelButtonText: "Cancel",
closeOnConfirm: false,
closeOnCancel: false,
},
function(isConfirm){
if (isConfirm) {
window.location.href = "google.com"
}
}
);
}
</script>
в файле gem
gem 'rails-assets-sweetalert2', source: 'https://rails-assets.org'
gem 'sweet-alert2-rails'
gem 'sweet-alert-confirm'
в application.js
//= require sweetalert2
//= require jquery
//= require jquery_ujs
//= require sweet-alert2-rails
//= require cocoon
//= require sweet-alert-confirm
//= require_tree .
в application.scss
*= require_self
*= require sweetalert2
*= require_tree .
*/
Ответ №1:
Вы должны использовать .then()
, а затем передать процедуру перенаправления внутри этого:
Пример:
function sweetalertclick() {
swal({
title: 'Request a DDS',
text: "Please log in to DDS website to request a pick up, my code is: xxxx. By pressing ok you will link to google.com",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Ok",
}).then((result) => {
console.log(result)
if (result) {
window.location.href = "google.com";
}
});
}
Комментарии:
1. Спасибо за ваш ответ, но я не могу нажать ok или отменить
2. Можете ли вы повторить свою ошибку в JSFiddle и показать?
3. sweetalert2.js:223 SweetAlert2: неизвестный параметр «closeOnConfirm» sweetalert2.js:223 SweetAlert2: неизвестный параметр «closeOnCancel» warn @ sweetalert2.js:223
4. Все то же самое. Я обновил свой вопрос дополнительным кодом
5. Не могли бы вы воссоздать проблему в JSFiddle, пожалуйста?