Редирект по нажатию кнопки с передачей параметров.
Добрый день. Суть проблемы: есть набор кнопок, которые генерируются из расчета одна кнопка - одна запись из базы данных. При этом, каждая кнопка имеет в названии слово 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, время: 02:50. |