PDA

Просмотр полной версии : Submit + POST переменная в догонку (JS)


x2com
15.02.2006, 01:03
Ситуация такая, есть форма в ней, соответственно поля разные и 2-е кнопки, выполняющих submit, но до этого спрашиваюших confirm'ом, типа, "Вы уверены?" и если OK - шлём форму. Но надо, чтобы посылалась ещё POST переменная ("селектор") в зависимости от того какя кнопка была нажата, т.к. на сервере в зависимости от того какая переменная ("селектор") пришла обрабатывает различные групы переменных формы.
Как послать (наверное JS'ом) этот самый "селектор"?
Заранее спасибо!

Илья К
15.02.2006, 02:50
1. <INPUT type="submit" name="INPUT_name" value="INPUT_value">
Неудобство способа в том, что на кнопке и будет написано INPUT_value... В качестве выхода (очень корявого) я как-то воспользовался font-size:0px; для текста кнопки и ставил бг-картинку. Коряво, да и не все браузеры понимают, что 0 -- это просто 0, и показываю текст, хоть это и мало заметно.

2. Что еще приходит в голову, так это создать hidden-поле (name=selector) и давать ему значение в зависимости от того, какая кнопка нажата. Или даже так -- не какая нажата, а на какую навели мышью.

НО все это, если у тебя несколько сабмитов. Я ведь правильнопонял? Если один submit, а другой reset, то все это извращение, понятно, ни к чему.

x2com
15.02.2006, 04:58
2-й вариант звучит логичней. Про hidden field я както не подумал :) Но я упростил и сделал селектор из 2-х radiobutton'ов. Немного не то, что я хотел, но тоже сойдёт...
В любом случае спасибо за идею.

Skubent
15.02.2006, 12:05
<script>
fucntion DoSubmit(val) {
document.getElementById('sel').value = val;
document.getElementById('forma').submit();
}
</script>
<form name='forma' id='forma' action='somescript.some' method='POST'>
<input type='hidden' name='sel' id='sel' value='-1'>
</form>
<input type='button' value='Первая' onclick='javascript:DoSubmit(1);'>
<input type='button' value='Вторая' onclick='javascript:DoSubmit(2);'>

x2com
15.02.2006, 14:29
Skubent, спасибо!