Подтверждение удаления в .jsp - PullRequest
0 голосов
/ 28 ноября 2011

Я хочу получить подтверждение на кнопку удаления, и я пытаюсь сделать все это в одной строке ... это обычное событие onClick без подтверждения удаления:

onClick='this.form.action="/Config?pg=FIBiller&cmd=delete";'    

Я нашел в Интернетечто подтверждение может быть реализовано следующим образом:

"return confirm('Are you sure you want to delete?')"

Как я могу включить это в мое событие onClick, чтобы оно было одной строкой, не хотите использовать больше javascript?Если я должен сделать это, то как бы я включил действие для «да» в окне сообщения в функцию javascript?

1 Ответ

4 голосов
/ 28 ноября 2011

Если я вас правильно понимаю, вы просто хотите

<form action="/Config?pg=FIBiller&amp;cmd=delete">
    <input type="submit" value="delete" onclick="return confirm('Are you sure you want to delete?')" />
</form>

Или, если вы действительно не можете изменить форму как таковую по непонятной причине (возможно, плохой дизайн?), Тогда вам нужно ввести блок if-else следующим образом, который изменяет действие формы при подтверждении и возвращает false при отмене.

<input type="submit" value="delete" onclick="if (confirm('Are you sure you want to delete?')) form.action='/Config?pg=FIBiller&amp;cmd=delete'; else return false;" />

Примечание: если вы хотите добавить больше вызовов или улучшить удобочитаемость, введите скобки:

<input type="submit" value="delete" onclick="if (confirm('Are you sure you want to delete?')) { form.action='/Config?pg=FIBiller&amp;cmd=delete'; } else { return false; }" />

Не связанный с конкретной проблемой, я бы предложил избавиться от cmd=delete, так как вы также можете просто проверить это, присвоив кнопке удаления имя, чтобы она отправлялась как параметр запроса как хорошо:

<input type="submit" name="delete" value="delete" ...>

затем вы можете проверить, как она была нажата на стороне JSP / Servlet:

if (request.getParameter("delete") != null) {
    // Delete button is pressed.
}

Кстати, удаление с помощью GET - плохая идея. Скорее используйте POST. В противном случае все ссылки удаления будут выполнены, когда поисковый робот появится на вашем сайте и просканирует все ссылки / действия GET без выполнения JavaScript. Вы также не хотите, чтобы полученные запросы на удаление были добавлены в закладки, верно?

...