Как сказал Нахом, за исключением того, что я бы поместил вызов javascript:message()
непосредственно в часть href (тогда нет необходимости в onclick).
Примечание. Если оставить вызов 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] Следовал предложению в комментариях... :-)
person
PhiLho
schedule
16.11.2008