Передача параметра
Задача:
Необходимо, чтобы после нажатия на ссылку менялось value у input скрытого типа, чтобы потом это значение можно было записать в базу данных и в дальнейшем использовать... Значит, у меня есть код:
<A href=\"javascript:ReplyTo('blablabla');\">LINK</A>
(*) Нужно еще, чтобы вместо 'blablabla' подставлялся параметр из php (например, из переменной $id). Есть JavaScript обработчик с функциями:
function ReplyTo(text){
if (text!="") pasteReply(text, 0);
}
function pasteReply(text, flag){
document.ADD.reply_to.value = text;
}
где ADD -- FORM name, а reply_to -- input name. В общем, если не париться с ставкой переменной (пункт (*)) и всего прочего, то все работает: при нажатии на ссылку, input (пока открытый) value меняется на 'blablabla', но как мне передать измененный параметр в обработчик формы, чтобы он добавил его в базу данных? Какие-то манипуляции с $_GET? И как мне сделать возможным вставку php-переменной в пункте (*)? |
> Необходимо, чтобы после нажатия на ссылку менялось value у input скрытого типа
<a href="#" onclick="document.getElementById('idСкрытогоИнпута').value = 'bla-bla'; return !1;">.change value</a>
> (*) Нужно еще, чтобы вместо 'blablabla' подставлялся параметр из php (например, из переменной $id). в самом простом случае:
... ReplyTo('<?php echo $id; ?>') ..
> но как мне передать измененный параметр в обработчик формы, чтобы он добавил его в базу данных? Какие-то манипуляции с $_GET? Так и делайте. Скрытый инпут у Вас же в форме. Так в чем проблема? JS установит значение в инпут, а форма засабмитит запрос (какой при этом метод будет - GET или POST - определяете Вы сами; на стороне PHP анализируются суперглобальные массивы $_GET и $_POST соотвественно). |
Спасибо за ответ!
Просто я думал, что JS формирует value на стороне клиента, то есть засунуть значение он засунет, но при дальнейших действиях он пропадет... Ведь, если я в обычный инпут засовываю значение 12, к примеру, а там было 7, то при просмотре HTML исходного когда он же будет показывать 7, а не 12... Но вы утверждаете, что если у меня была форма: <input type="text" name="my_input" value="7"> и если я проведу запрос на изменение (допустим, что он мне уже сделал document.FORM.my_input.value = 12), то тогда, если я после нажатия на кнопку submit-отправки в $_POST['my_input'] я получу 12, а не 7? |
Цитата:
ЗЫ а вы проверить не пробовали, вместо того чтоб спрашивать? это дело двух минут |
а все уже сделал :)
|
Подскажите пожалуеста а как менять вид ссылки при определенных нажатых кнопах:? вот такой код у меня
<select name="area" size="4" style="font-weight: bold;text-align:center">
<option value="1">I квартал</option>
<option value="2">II квартал</option>
<option value="3">III квартал</option>
<option value="4">IV квартал</option>
</select>
и еще несколько подобных надо чтобы в кнопке отправить
<input type="button" onclick="MyPage('do=nalog&area=2&year_nm=2011'); return false;" class="buttons"
value="Отсортировать" />
менялись значения area и year_nm, в зависимости от нажатых в списке.. возможно такое? PS . функция mypage - отсылает запрос на сервер |
<select name="area" size="4" style="font-weight: bold;text-align:center">
<option value="1" selected>I квартал</option>
<option value="2">II квартал</option>
<option value="3">III квартал</option>
<option value="4">IV квартал</option>
</select>
<input type="button" onclick="alert('do=nalog&area='+document.getElementsByName('area')[0].value+'&year_nm=2011'); return false;" class="buttons"
value="Отсортировать" />
Всё это делается не так, но правильно вам всё равно не сделать на этом этапе.=\ |
большое спасибо за наводку.
учимся еще) когда нибудь напишу правильно)) может еще подскажете что значит правильно? так в общих словах у меня сейчас скрипт такой: сортируются данные из мускула и выводяться кнопкой отсортировать, я использую ajax переходы между сортируемыми данными. ps. кстати офтоп небольшой, я вроде как то давно видел то ли скрип то ли что-то такое, очень простой главное, который сумирует ячейки, находящиеся над используемой формулой, есть такое на джава, или меня глючит? |
правильно это: не мешать css и javascript с html-разметкой; не отправлять формы ajax'ом, если это не надо. А сортировать можно прямо на странице. Может быть, Aetae, чего-нибудь добавит/исправит
кстати, о том, что говорит, там сортировка происходит, говорит лишь название кнопки не знаю про java, но javascript складывать/вычитать да, умеет :)
<table><tr><td>1<td>2</table>
<script>
var tds = document.getElementsByTagName('td');
var r = 0;
for( var i=0; i<tds.length; i++ )
r += Number(tds[i].innerHTML);
alert(r);
</script>
|
| Часовой пояс GMT +3, время: 07:48. |