Редирект по нажатию кнопки с передачей параметров.
Добрый день. Суть проблемы: есть набор кнопок, которые генерируются из расчета одна кнопка - одна запись из базы данных. При этом, каждая кнопка имеет в названии слово delete и id записи из бд. Генерирую все при помощи java jstl. Нужно сделать так, чтобы при нажатии на кнопку вылезало предупреждение об удалении записи, и мы шли на определенную страницу вместе с именем нажатой кнопки. Я делал вот так:
<form><input type="button" name="Delete${quest.questionId}" value="Delete" onclick="show_confirm()"> </form> где show_confirm() выглядит вот так: <script type="text/javascript"> function show_confirm() { var r=confirm("Do you really want to delete this entry?"); if (r==true) { window.location = "DeleteQuestion.jsp"; } else { window.location = "ManageList.jsp"; } } </script> Понятное дело, что так параметры не передаются, а как передать - не знаю( |
i.m.not.the.one,
передавай их либо GET методом, примерно window.location = "ManageList.jsp?param1=value¶m2=value"; или можешь пост. Сделай на странице скрытую форму заполни поля а при появлении необходимости submit() . |
Skipp, так не получится. Я же не знаю имя кнопки, которая будет нажата. Она у меня может называться Delete1 или Delete1001, к примеру. Весь вопрос в том, чтобы узнать, как передать...
|
Скрипт напишем так:
function c_r(addr){ if(confirm("Do you really want to delete this entry?")){ var form = this.parentNode form.action = addr form.submit() } } HTML - так: <form method="POST"> <input type="hidden" name="del_id" value="id_чаво_удалять"/> <input type="button" value="Delete" onclick="c_r('куда переходить')"/> </form> |
i.m.not.the.one,
хмм, как так не узнать какую кнопку нажал, ещё как можно. |
Skipp, извините, не то хотел сказать, у меня проблема с получением имени кнопки, не хотел сказать, что это невозможно. У меня опыт работы с JavaScript нулевой просто ;)
MikhailGirshberg, попробовал сделать, как Вы написали, не получается. Появляется просто предупреждение, но при нажатии на "OK" ничего не происходит, остаемся на той же странице, где и были. |
i.m.not.the.one,
Если просто скопировать код - ничего и не произойдёт. |
inGray, а что еще надо сделать? ) Поменял все, что MikhailGirshberg указал. Вообще, я не против того, чтобы изучить JS, все равно скоро понадобится, но сейчас хочется получить готовый дельный рецепт)
|
Цитата:
|
А если по теме?
|
Вот Sweet нету, он бы уже в работу послал.
i.m.not.the.one, А по теме - прочитайте про формы в HTML. |
Цитата:
вызывающий код: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <script type="text/javascript"> function c_r(node, addr){ if(confirm("Do you really want to delete this entry?")){ var form = node.parentNode.parentNode form.action = addr form.submit() } } </script> </head> <body> <form method="POST" action=""> <p>Переход по нажатию <input type="hidden" name="id_del" value="id_чаво_удалять"/> <input type="button" value="Delete" onclick="c_r(this, 'test2.html')"/> </p> </form> </body> </html> вызываемый код (test2.html): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> </head> <body> <?php echo "вызвано с id='{$_REQUEST['id_del']}'";?> </body> </html> ... отладить значит лажу отвадить ;-? |
Часовой пояс GMT +3, время: 12:39. |