Как сказал Нахом, за исключением того, что я бы поместил вызов javascript:message()
непосредственно в часть href (тогда не нужно использовать onclik).
Примечание: оставление вызова JavaScript в onClick имеет преимущество: в атрибуте href можно указать URL-адрес, к которому нужно перейти, если у пользователя не включен JavaScript , Таким образом, если у них есть JS, ваш код запускается. Если они этого не делают, они идут куда-то, где им предписано включить (возможно).
Теперь ваша подпрограмма message
должна не только задавать вопрос, но и использовать ответ: если она положительная, она должна вызвать submit () в форме, чтобы опубликовать форму. Вы можете передать this
в вызове, чтобы упростить выборку формы.
Лично я бы использовал кнопку (тег ввода, как вы показываете) вместо простой ссылки для выполнения процесса: он использовал бы более привычную для пользователей парадигму.
[РЕДАКТИРОВАТЬ] Поскольку я предпочитаю проверять ответы, которые я даю, я написал простой тест:
<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.
[ПРАВИТЬ] Следующее предложение в комментариях ...: -)