Как создать одну из этих гиперссылок, где, когда вы нажмете на нее, появится всплывающее окно с вопросом "вы уверены?"
<INPUT TYPE="Button" NAME="confirm" VALUE="???" onClick="message()">
У меня уже есть функция message(). Мне просто нужно знать, каким будет тип ввода для гиперссылки.
Ответ 1
<a href="http://somewhere_else" onclick="return confirm()">
Когда пользователь нажимает на ссылку, вызывается функция confirm
. Если функция подтверждения возвращает false
, обход ссылки отменяется, если возвращается истина, ссылка проходит.
Ответ 2
<a href="http://something.com" onclick="return confirmAction()">try to click, I dare you</a>
с функцией
function confirmAction(){
var confirmed = confirm("Are you sure? This will remove this entry forever.");
return confirmed;
}
(вы также можете сразу подтвердить подтверждение, я разделил его для удобства чтения)
Протестировано в FF, Chrome и IE
Ответ 3
Как сказал Нахом, за исключением того, что я бы поместил вызов javascript:message()
непосредственно в href-часть (тогда нет необходимости в onclik).
Примечание: оставление вызова JavaScript в onClick имеет преимущество: в атрибуте href вы можете поместить URL-адрес, если у пользователя нет встроенного JavaScript. Таким образом, если у них есть JS, ваш код запускается. Если они этого не делают, они отправляются куда-нибудь, где им поручено включить его (возможно).
Теперь ваша подпрограмма message
должна не только задавать вопрос, но также использовать ответ: если он положительный, он должен вызвать submit() в форме для отправки формы. Вы можете передать this
в вызове, чтобы облегчить выбор формы.
Лично я бы выбрал кнопку (тег ввода, который вы показываете) вместо простой ссылки для выполнения этого процесса: он использовал бы более знакомую парадигму для пользователей.
[EDIT] Поскольку я предпочитаю проверять ответы, которые я даю, я написал простой тест:
<script type="text/javascript" language="JavaScript">
function AskAndSubmit(t)
{
var answer = confirm("Are you sure you want to do this?");
if (answer)
{
t.form.submit();
}
}
</script>
<form action="Tests/Test.html" method="GET" name="subscriberAddForm">
<input type="hidden" name="locationId" value="2721"/>
<input type="text" name="text" value="3.1415926535897732384"/>
<input type="button" name="Confirm" value="Submit this form" onclick="AskAndSubmit(this)"/>
</form>
Да, отправить просто перезагрузить страницу здесь... Протестировано только в FF3.
[EDIT] Следующее предложение в комментариях...: -)
Ответ 4
<a href="#" onclick="message(); return false;">???</a>
Этот ответ будет только в том случае, если клику не нужно перемещаться на другую страницу.