24.09.2010, 20:47 | #1 |
Эксперт
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 503
|
Прошу помощи в написании php скрипта, изменяющего значения в форме.
Господа,
Помогите, пожалуйста, написать php-скрипт. Есть форма, состоящая из выпадающего списка <select> и текстового поля <input>. Необходим скрипт, который в зависимости от выбора в выпадающем списке изменял значение action в теге <form> и значение value в теге <input>. |
24.09.2010, 21:03 | #2 |
Эксперт
|
SergejF, ты уверен что тебе именно php нужен? - на js могу помочь !!
выкладывай сюда код - формы прям тут и поможем (гу)....
__________________
|
24.09.2010, 21:20 | #3 |
Эксперт
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 503
|
Возможно js будет лучше, чтобы страницу не перезагружать. Итак, у нас есть форма, состоящая из выпадающего списка D1 и текстового поля T1:
<form method="POST" action="XXX"> <select size="1" name="D1"> <option value="A">1</option> <option value="B">2</option> </select> <input type="text" name="T1" size="20" value="1"> <input type="submit" value="Отправить" name="B1"> </form> Необходимо, чтобы при выборе "1" в выпадающем списке значение action тега <form> было вида action="Y1", а значение value тега <input> вида value="Y2". При выборе "2" в выпадающем списке значение action тега <form> было вида action="Z1", а значение value тега <input> вида value="Z2". |
24.09.2010, 21:56 | #4 |
шатапфакап
Регистрация: 01.09.2008
Адрес: там где клен шумит (с)
Сообщений: 1,472
Вес репутации: 265
|
для формы: document.getElementById("myform").action ="bla-bla-bla"
аналогично для инпут: document.getElementById("myInput").value ="bla-bla-bla" на селект на событие onchange повесить функцию, которая будет менять значение экшн формы и соотвественно значения у инпута
__________________
|
24.09.2010, 22:10 | #5 |
Эксперт
|
PHP код:
чуток подкорректировать и готово не уверен по поводу onchange="myfunc()" может onselect? (просто подзабыл) и document.form1.action="222222"; достаточно такого обращения или нужно тоже getElementBy - да и всё Добавлено через 4 минуты justworker, ну типа да
__________________
Последний раз редактировалось Anadonam; 24.09.2010 в 22:11. Причина: Добавлено сообщение |
24.09.2010, 23:34 | #6 |
Эксперт
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 503
|
Спасибо за ответы, господа.
Давайте по порядку, сначала изменения в action. Вот код: Код:
<form method="POST" action="XXX"> <select onchange="if (this.selectedIndex==1) this.form.action='URL1';" onchange="if (this.selectedIndex==2) this.form.action='URL2';" name="D1"> <option value="C">Выберите страну проживания:</option> <option value="A">Россия</option> <option value="B">Украина</option> </select><br> ФИО: <input type="text" name="name" size="40"><br> Контактный телефон: <input type="text" name="phone" size="21"><br> <input type="submit" value="Заказать"></form> </form> |
24.09.2010, 23:56 | #7 |
Эксперт
|
onchange="if (this.selectedIndex==2
лишнее однозначно
__________________
|
24.09.2010, 23:56 | #8 |
Мастер
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
|
у вас два аттрибута onchange у тега <select>, второй отбрасывается
замените на Код:
<select onchange="if (this.selectedIndex==1) this.form.action='URL1'; else if (this.selectedIndex==2) this.form.action='URL2'; else this.form.action='XXX'; " name="D1"> |
25.09.2010, 00:02 | #9 |
Эксперт
|
иначе запутаетесь в синтаксисе и прочие неудобства ведь вам еще и менять value в едите...... (получится длиннючая строчка кода которую упаси бог придется еще и править в будущем когда оно забудетцо) угу
__________________
|
25.09.2010, 00:04 | #10 |
Эксперт
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 503
|
Разобрался. Тег select следовало написать в таком виде:
<select onchange="if (this.selectedIndex==1) this.form.action='URL1'; if (this.selectedIndex==2) this.form.action='URL2';" name="D1"> Теперь выбор работает. Спасибо за помощь. Но я продолжу Вас пытать, господа. Теперь в коде: <form method="POST" action="XXX"> <select onchange="if (this.selectedIndex==1) this.form.action='URL1'; if (this.selectedIndex==2) this.form.action='URL2';" name="D1"> <option value="C">Выберите страну проживания:</option> <option value="A">Россия</option> <option value="B">Украина</option> </select><br> ФИО: <input type="text" name="name" size="40"><br> Контактный телефон: <input type="text" name="phone" size="21"><br> <input type="submit" value="Заказать"></form> </form> необходимо, чтобы при выборе России в тег <input type="text" name="phone" size="21"> подставлялось: value="+7" , а при выборе Украины: value="+380" . Как это сделать? Добавлено через 1 минуту Сообщении писано до прочтения трех последних ответов. Спасибо. Последний раз редактировалось SergejF; 25.09.2010 в 00:05. Причина: Добавлено сообщение |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прошу помощи | meshman | Курилка | 11 | 28.01.2010 02:51 |
Прошу помощи. | Fullchaos | Вопросы от новичков | 34 | 09.12.2009 10:14 |
Прошу о помощи | Taldyk | Курилка | 19 | 10.12.2008 10:18 |
Прошу помощи!!!!! SOS! | idrp | Яндекс | 7 | 15.12.2007 18:27 |
Часовой пояс GMT +3, время: 01:49.