Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 24.09.2010, 20:47   #1
Эксперт
 
Аватар для SergejF
 
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 502
SergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущее
По умолчанию Прошу помощи в написании php скрипта, изменяющего значения в форме.

Господа,

Помогите, пожалуйста, написать php-скрипт.

Есть форма, состоящая из выпадающего списка <select> и текстового поля <input>. Необходим скрипт, который в зависимости от выбора в выпадающем списке изменял значение action в теге <form> и значение value в теге <input>.
SergejF вне форума   Ответить с цитированием
Старый 24.09.2010, 21:03   #2
Эксперт
 
Аватар для Anadonam
 
Регистрация: 29.10.2009
Адрес: Вологда and SSHA
Сообщений: 3,897
Вес репутации: 353
Anadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущее
Отправить сообщение для Anadonam с помощью ICQ
По умолчанию

SergejF, ты уверен что тебе именно php нужен? - на js могу помочь !!
выкладывай сюда код - формы прям тут и поможем (гу)....
Anadonam вне форума   Ответить с цитированием
Старый 24.09.2010, 21:20   #3
Эксперт
 
Аватар для SergejF
 
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 502
SergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущее
По умолчанию

Возможно 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".
SergejF вне форума   Ответить с цитированием
Старый 24.09.2010, 21:56   #4
шатапфакап
 
Аватар для justworker
 
Регистрация: 01.09.2008
Адрес: там где клен шумит (с)
Сообщений: 1,472
Вес репутации: 265
justworker - прекрасное будущееjustworker - прекрасное будущееjustworker - прекрасное будущееjustworker - прекрасное будущееjustworker - прекрасное будущееjustworker - прекрасное будущееjustworker - прекрасное будущееjustworker - прекрасное будущееjustworker - прекрасное будущееjustworker - прекрасное будущееjustworker - прекрасное будущее
По умолчанию

для формы: document.getElementById("myform").action ="bla-bla-bla"
аналогично для инпут: document.getElementById("myInput").value ="bla-bla-bla"

на селект на событие onchange повесить функцию, которая будет менять значение экшн формы и соотвественно значения у инпута
__________________
Проблемы, простои, убогая техподдержка, потерянное время, высокие цены, отсутствие достойных компенсаций, наплевательское отношение к клиентам, велкам!
justworker вне форума   Ответить с цитированием
Старый 24.09.2010, 22:10   #5
Эксперт
 
Аватар для Anadonam
 
Регистрация: 29.10.2009
Адрес: Вологда and SSHA
Сообщений: 3,897
Вес репутации: 353
Anadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущее
Отправить сообщение для Anadonam с помощью ICQ
По умолчанию

PHP код:

<script type="text/javascript">
function 
myfunc() {
var 
document.getElementById('sel')
var 
document.getElementById('edi'
if 
s.value=="A"{e.value="1"document.form1.action="1111111";}
if 
s.value=="B"{e.value="2" document.form1.action="222222";}
}
</script>

<form method="POST" action="XXX" name="form1" id="form1">

<select size="1" id="sel" name="D1" onchange="myfunc();">
<option  value="A">1</option>
<option value="B">2</option>
</select>

<input id="edi" type="text" name="T1" size="20" value="1">    

<input type="submit" value="Отправить" name="B1">

</form> 
Добавлено через 1 минуту
чуток подкорректировать и готово не уверен по поводу onchange="myfunc()" может onselect? (просто подзабыл)

и document.form1.action="222222"; достаточно такого обращения или нужно тоже getElementBy - да и всё

Добавлено через 4 минуты
justworker, ну типа да

Последний раз редактировалось Anadonam; 24.09.2010 в 22:11. Причина: Добавлено сообщение
Anadonam вне форума   Ответить с цитированием
Старый 24.09.2010, 23:34   #6
Эксперт
 
Аватар для SergejF
 
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 502
SergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущее
По умолчанию

Спасибо за ответы, господа.

Давайте по порядку, сначала изменения в 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>
При выборе "Россия" всё работает, при выборе "Украина", URL2 не подставляется, остается XXX. В чем ошибка?
SergejF вне форума   Ответить с цитированием
Старый 24.09.2010, 23:56   #7
Эксперт
 
Аватар для Anadonam
 
Регистрация: 29.10.2009
Адрес: Вологда and SSHA
Сообщений: 3,897
Вес репутации: 353
Anadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущее
Отправить сообщение для Anadonam с помощью ICQ
По умолчанию

onchange="if (this.selectedIndex==2

лишнее однозначно
Anadonam вне форума   Ответить с цитированием
Старый 24.09.2010, 23:56   #8
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 236
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

у вас два аттрибута 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">
и лучше обработчик в функцию вынести, как показали в примерах выше
ahsinis вне форума   Ответить с цитированием
Старый 25.09.2010, 00:02   #9
Эксперт
 
Аватар для Anadonam
 
Регистрация: 29.10.2009
Адрес: Вологда and SSHA
Сообщений: 3,897
Вес репутации: 353
Anadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущееAnadonam - прекрасное будущее
Отправить сообщение для Anadonam с помощью ICQ
По умолчанию

Цитата:
Сообщение от ahsinis Посмотреть сообщение
и лучше обработчик в функцию вынести, как показали в примерах выше
иначе запутаетесь в синтаксисе и прочие неудобства ведь вам еще и менять value в едите...... (получится длиннючая строчка кода которую упаси бог придется еще и править в будущем когда оно забудетцо) угу
Anadonam вне форума   Ответить с цитированием
Старый 25.09.2010, 00:04   #10
Эксперт
 
Аватар для SergejF
 
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 502
SergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущее
По умолчанию

Разобрался. Тег 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. Причина: Добавлено сообщение
SergejF вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помощи 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, время: 21:56.