Поле предупреждения JavaScript с подтверждением на кнопке нажмите
У меня есть эта ссылка:
<p id="accept-favor"><a title="Accept this Favor" href="?wp_accept_favor=<?php comment_ID(); ?>">Accept this Favor</a></p>
Я хочу показать окно предупреждения JavaScript, когда пользователь нажимает на него, говоря: "Вы уверены, что хотите принять этот ответ в свою пользу?" с двумя кнопками, которые говорят "Да", что позволит функции запускаться, а другая - "Нет", которая просто отменит обратную передачу и сохранит пользователя на странице.
Как мне это сделать? Спасибо:)
Ответы
Ответ 1
Вы можете легко сделать это с подтверждением onclick:
<p id="accept-favor"><a title="Accept this Favor"
href="?wp_accept_favor=<?php comment_ID(); ?>"
onclick="return confirm('Are you sure you would like to accept this reply as your favor?');"
>Accept this Favor</a></p>
Хотя это скажет "ОК/Отмена" вместо "Да/Нет". Если вы действительно хотите Да/Нет, вам придется использовать специальный диалог.
Ответ 2
Вы можете написать onclick="return confirm('Are you sure?');"
.
Функция confirm
показывает диалог ОК/Отмена и возвращает true
, если пользователь нажал OK.
return
ing false
от обработчика onclick
отменит действие по умолчанию клика.
Ответ 3
Вы можете использовать эту функцию:
myFunction() {
var x;
if (confirm("Are you sure?") == true) {
x = "You pressed OK!";
} else {
x = "You pressed Cancel!";
}
return x;
}
myFunction();
Ответ 4
Как говорится в других ответах о прямой onclick, я хотел бы представить решение для более приятной версии (IMO = на мой взгляд) с использованием методов addEventListener
и preventDefault
. Потому что таким образом вы можете привязать больше обработчиков кликов.
HTML
<a href="#" id="confirmClickActionElementId">click me</a>
JavaScript
document
.getElementById("confirmClickActionElementId")
.addEventListener("click", function( e ){ //e => event
if( ! confirm("Do you really want to do this?") ){
e.preventDefault(); // ! => don't want to do this
} else {
//want to do this! => maybe do something about it?
alert('Ok, lets do this!');
}
});
Fiddle: http://jsfiddle.net/ouyf86ya/
... или старый способ "return
":
document
.getElementById("confirmClickActionElementId")
.addEventListener("click", function( ){
return confirm("Do you really want to do this?") ;
});
Fiddle: http://jsfiddle.net/y2jLpkbb/