07.06.2008, 20:45
|
Интересующийся
|
|
Регистрация: 07.06.2008
Сообщений: 10
|
|
Передача параметра
Задача:
Необходимо, чтобы после нажатия на ссылку менялось 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-переменной в пункте (*)?
|
|
07.06.2008, 21:18
|
Профессор
|
|
Регистрация: 25.02.2008
Сообщений: 707
|
|
> Необходимо, чтобы после нажатия на ссылку менялось 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 соотвественно).
|
|
07.06.2008, 21:25
|
Интересующийся
|
|
Регистрация: 07.06.2008
Сообщений: 10
|
|
Спасибо за ответ!
Просто я думал, что 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?
|
|
10.06.2008, 22:41
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от Лимонадный Джо
|
Но вы утверждаете, что если у меня была форма:
<input type="text" name="my_input" value="7">
и если я проведу запрос на изменение (допустим, что он мне уже сделал document.FORM.my_input.value = 12), то тогда, если я после нажатия на кнопку submit-отправки в $_POST['my_input'] я получу 12, а не 7?
|
НУ, оно вообще-то так и есть.
ЗЫ а вы проверить не пробовали, вместо того чтоб спрашивать? это дело двух минут
|
|
10.06.2008, 22:44
|
Интересующийся
|
|
Регистрация: 07.06.2008
Сообщений: 10
|
|
а все уже сделал
|
|
25.01.2011, 05:35
|
Интересующийся
|
|
Регистрация: 20.12.2010
Сообщений: 26
|
|
Подскажите пожалуеста а как менять вид ссылки при определенных нажатых кнопах:? вот такой код у меня
<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 - отсылает запрос на сервер
|
|
25.01.2011, 06:01
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,585
|
|
<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="Отсортировать" />
Всё это делается не так, но правильно вам всё равно не сделать на этом этапе.=\
|
|
25.01.2011, 12:17
|
Интересующийся
|
|
Регистрация: 20.12.2010
Сообщений: 26
|
|
большое спасибо за наводку.
учимся еще) когда нибудь напишу правильно))
может еще подскажете что значит правильно? так в общих словах у меня сейчас скрипт такой:
сортируются данные из мускула и выводяться кнопкой отсортировать, я использую ajax переходы между сортируемыми данными.
ps. кстати офтоп небольшой, я вроде как то давно видел то ли скрип то ли что-то такое, очень простой главное, который сумирует ячейки, находящиеся над используемой формулой, есть такое на джава, или меня глючит?
Последний раз редактировалось gaserge, 25.01.2011 в 14:29.
|
|
25.01.2011, 22:19
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
правильно это: не мешать 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>
|
|
|
|