Окно предупреждения JavaScript с подтверждением при нажатии кнопки
У меня есть эта ссылка:
<p id="accept-favor"><a title="Accept this Favor" href="?wp_accept_favor=<?php comment_ID(); ?>">Accept this Favor</a></p>
Я хочу показать окно предупреждения JavaScript, когда пользователь нажимает на него, говоря: "Вы уверены, что хотите принять этот ответ в свою пользу?" с двумя кнопками, одна из которых говорит "Да", что позволяет запускать функцию, а другая - "Нет", которая просто отменяет обратную передачу и удерживает пользователя на странице.
Как бы я это сделал? Спасибо:)
4 ответа
Вы можете легко сделать это, нажав кнопку подтверждения:
<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>
Хотя вместо "Да / Нет" будет сказано "OK/ Отмена". Если вы действительно хотите Да / Нет, вам придется использовать собственный диалог.
Ты можешь написать onclick="return confirm('Are you sure?');"
,
confirm
Функция показывает диалог OK / Отмена и возвращает true
если пользователь нажал ОК.return
ИНГ false
из onclick
Обработчик отменит действие по умолчанию для клика.
Вы можете использовать эту функцию:
myFunction() {
var x;
if (confirm("Are you sure?") == true) {
x = "You pressed OK!";
} else {
x = "You pressed Cancel!";
}
return x;
}
myFunction();
Поскольку другие ответы говорят о прямом щелчке, я хотел бы представить решение для "более хорошей" (на мой взгляд = 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!');
}
});
Скрипка: http://jsfiddle.net/ouyf86ya/
... или старый "return
" путь:
document
.getElementById("confirmClickActionElementId")
.addEventListener("click", function( ){
return confirm("Do you really want to do this?") ;
});
Скрипка: http://jsfiddle.net/y2jLpkbb/