Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Редирект по нажатию кнопки с передачей параметров. (https://javascript.ru/forum/dom-window/11474-redirekt-po-nazhatiyu-knopki-s-peredachejj-parametrov.html)

i.m.not.the.one 25.08.2010 16:53

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

Понятное дело, что так параметры не передаются, а как передать - не знаю(

Skipp 25.08.2010 17:11

i.m.not.the.one,
передавай их либо GET методом, примерно
window.location = "ManageList.jsp?param1=value&param2=value";

или можешь пост. Сделай на странице скрытую форму заполни поля а при появлении необходимости submit() .

i.m.not.the.one 25.08.2010 17:33

Skipp, так не получится. Я же не знаю имя кнопки, которая будет нажата. Она у меня может называться Delete1 или Delete1001, к примеру. Весь вопрос в том, чтобы узнать, как передать...

MikhailGirshberg 25.08.2010 17:41

Скрипт напишем так:
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>

Skipp 25.08.2010 17:58

i.m.not.the.one,
хмм, как так не узнать какую кнопку нажал, ещё как можно.

i.m.not.the.one 25.08.2010 19:08

Skipp, извините, не то хотел сказать, у меня проблема с получением имени кнопки, не хотел сказать, что это невозможно. У меня опыт работы с JavaScript нулевой просто ;)

MikhailGirshberg, попробовал сделать, как Вы написали, не получается. Появляется просто предупреждение, но при нажатии на "OK" ничего не происходит, остаемся на той же странице, где и были.

inGray 25.08.2010 19:12

i.m.not.the.one,
Если просто скопировать код - ничего и не произойдёт.

i.m.not.the.one 25.08.2010 19:15

inGray, а что еще надо сделать? ) Поменял все, что MikhailGirshberg указал. Вообще, я не против того, чтобы изучить JS, все равно скоро понадобится, но сейчас хочется получить готовый дельный рецепт)

Gozar 25.08.2010 22:25

Цитата:

Сообщение от i.m.not.the.one (Сообщение 68663)
Вообще, я не против того, чтобы изучить JS, все равно скоро понадобится, но сейчас хочется получить готовый дельный рецепт)

меньше грамотных программистов, мне больше заказов ;)

i.m.not.the.one 25.08.2010 22:28

А если по теме?


Часовой пояс GMT +3, время: 16:53.