Передача параметра
Задача:
Необходимо, чтобы после нажатия на ссылку менялось 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, время: 16:07. |