Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: php: как заставить форму с выпадающим списком выполнить действие без нажатия submit

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: php форма выподающие списки
alexey90210
Отправлено: 18 Декабря, 2010 - 13:58:13
Post Id


Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




здрасьте!!
вот форма с выпадающим окном
вопрос в том как заставить машину выполнить действие без нажатия сабмит или ентэр
просто при выборе опции из списка

PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['u3'])) {
  2.       $u3=$_POST['u3'];
  3.       echo "$u3";
  4. } else {
  5.       $u3=0;
  6. }
  7.  
  8. echo "<form method='post' align=\"center\">";
  9. echo "TICKET-3 <select name = \"u3\"> <option value = \"$u3\">$u3 % </option>";
  10. for($i=0; $i<50; $i++){
  11.         echo "<option value = \"$i\">$i %</option>";
  12. }
  13. echo "</form>";


заранее спасибо


Отредактировано модератором: JustUserR, 31 Января, 2011 - 18:28:50
Обрамил PHP-код в соответствующие BB-теги
 
 Top
Михаил
Отправлено: 18 Декабря, 2010 - 14:16:10
Post Id



Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Июнь 2010  
Откуда: Армавир, Россия


Помог: 0 раз(а)




С помощью AJAX'a. Вот здесь об этом уже говорилось:
http://forum.php.su/topic.php?fo...83978#1292583978

По такому же принципу
 
 Top
alexey90210
Отправлено: 18 Декабря, 2010 - 15:31:39
Post Id


Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Михаил пишет:
С помощью AJAX'a. Вот здесь об этом уже говорилось:


перед тем как открыть этот пост я пролистал сотню форумов, и все посылают меня в ява-скрипт..
но так как я новичок, и мой мозг перегружен php и недавно стал догружатся mysql то хотелось бы остаться в уже немного знакомом языке..


вся задача сделать сабмит и релод страници без того что бы нажимать кнопачку!!
неужели в PHP нет такой опции??
 
 Top
DeepVarvar Супермодератор
Отправлено: 18 Декабря, 2010 - 15:35:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




alexey90210 PHP выполняется ТОЛЬКО НА СЕРВЕРЕ и с браузером связи не имеет...
Спасет только жабаскрипт. И изучать его придется. Либо не мечтать о автосабмитах пока не закрепите те знания которые есть сейчас.
 
 Top
Михаил
Отправлено: 18 Декабря, 2010 - 15:45:31
Post Id



Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Июнь 2010  
Откуда: Армавир, Россия


Помог: 0 раз(а)




alexey90210
Цитата:
перед тем как открыть этот пост я пролистал сотню форумов, и все посылают меня в ява-скрипт..

Ибо ява работает на стороне клиента.
а с помощью аякса как раз осуществляется ассинхронная передача данными между клиентом и сервером
 
 Top
OrmaJever Модератор
Отправлено: 18 Декабря, 2010 - 16:18:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




вопрос изначально был не как передать или принять даные, а
alexey90210 пишет:
вопрос в том как заставить машину выполнить действие без нажатия сабмит или ентэр

для этого нужен javascript. Чуть поже код выложу.
(Добавление)
у меня познания в js не большие но я кое как собразил.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. echo '<form method="post" align="center">';
  3. echo 'TICKET-3 <select name="u3" id="select" onclick="xx()"> <option value = "">%</option>';
  4. for($i=0; $i<=50; $i++){
  5. echo "<option value = \"$i\">$i %</option>";
  6. }
  7. echo "</form>";
  8. ?>
  9. <script type="text/javascript">
  10. function xx(){
  11. var x = document.getElementById('select').value;
  12.  
  13. if(x != '' && x != c)
  14. alert(x);
  15. c = x;
  16. }
  17. </script>
  18.  


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DeepVarvar Супермодератор
Отправлено: 18 Декабря, 2010 - 16:38:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <select name="myselect" onchange="this.form.submit();">
  2.  
 
 Top
OrmaJever Модератор
Отправлено: 18 Декабря, 2010 - 16:50:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




DeepVarvar тут же вопрос про асинхроный запрос чтобы страница не перезагружалась. А за onchange спасибо Подмигивание
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. echo '<form method="post" align="center">';
  3. echo 'TICKET-3 <select name="u3" id="select" onchange="xx()"> <option value = "">%</option>';
  4. for($i=0; $i<=50; $i++){
  5. echo "<option value = \"$i\">$i %</option>";
  6. }
  7. echo "</form>";
  8. ?>
  9. <script type="text/javascript">
  10. function xx(){
  11. var x = document.getElementById('select').value;
  12.  
  13. if(x != '')
  14. alert(x);
  15. }
  16. </script>


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
alexey90210
Отправлено: 18 Декабря, 2010 - 17:41:59
Post Id


Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




DeepVarvar пишет:
PHP выполняется ТОЛЬКО НА СЕРВЕРЕ и с браузером связи не имеет...


потехоньку просветвляюсь..
и всё таки вопросег:
на кой моему скрипту выполнятся на клиенте, если всё что я хочу и так выложенно на сервере..

ну придположим зашёл я на какой нибуть мульти языковый сайт как букинг.ком.. он же не аплодит на мой комп всё 140 версий страницы на 140 языках (как мне кажется).. а только одну на родном инглише.. а только спустя пару сикунд когда пользователь в далёком владивостоке выбирает из выпадающего списка родной рашен, он бежит на сервер и аплодит до боли знокомую страницу только уже на родном русском языке..

другое дело когда выбераеш материк, появляется список стран.. выбераеш страну, появляется список регионов.. выбераеш регион появляеся список городов.. потом список улиц.. потом список лавочек на улице..а уже потом сервер выдаёт список всех пенсионерок обычно сидящих на этой лавочке.. (последнее действие на стороне сервера)..

зы
спасибо всем за помощь..
и хотя я пока не нашёл решение своей задаче - я понял что обязательно его найду..
 
 Top
OrmaJever Модератор
Отправлено: 18 Декабря, 2010 - 17:47:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




alexey90210 пишет:
он же не аплодит на мой комп всё 140 версий страницы на 140 языках (как мне кажется)..

немного не то понимание клиент - сервер. Правельно все запросы выполняются на сервере но в вашем случаи нужен js скрипт который выполнится на стороне клиента.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
JustUserR
Отправлено: 18 Декабря, 2010 - 19:12:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




alexey90210 В качестве возможного решения задачи автоматизации посещения целевых web-ресуросв из реального программного обеспеченя браузера с осуществлением выбора требуемых элементов управления - возможно использование специализированного HTA-приложения позволяющего осуществлять контроль исполняемой HTML-странице в окне браузера Internet explorer - с обеспечением анализа и выбора содержимого из web-ресурсов на произвольных доменах - преимуществом применения такой схемы являются отсутсвие необходимости реализации прешествующего управляющего функционального контроля обрабатываемых элементов - поскольку включается односторонняя связь обращение к компонентам приложений


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
alexey90210
Отправлено: 31 Января, 2011 - 05:43:19
Post Id


Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Закатив глазки Закатив глазки Закатив глазки Закатив глазки Закатив глазки

прежде всего спасибо всем кто пытался помоч решить мою задачу!!
но к сожалению правильный ответ был найден моим другом (не знаю точно где)
и дабы помочь тем кто загугляет что то типа: "php: как заставить форму с выпадающим списком выполнить действие без нажатия submit" (то что и я очень долго делал)
или попадает на этот пост каким другим спосбом

короче вот ответ:
это замечательное слово onChange=\"moo.submit();\" (в том случае если форму зовут МУ)

а вот и кодик
$query= "SELECT * FROM hr ";
$cat=mysql_query($query);
if (!$cat) exit(mysql_error());
echo "<form name=\"moo\" method='post'>";
echo "<select name = \"hr_select\" onChange=\"moo.submit();\"> <option value = \"$hr_select\">$hr_select </option>";
while ($hr=mysql_fetch_array($cat))
{
$t1=$hr['hr_code'];
$t2=$hr['hr_name'];
echo "$t1 $t2";
echo "<option value = \"$t1\">$t1 $t2 </option>";
}
echo "</form>";
 
 Top
JustUserR
Отправлено: 31 Января, 2011 - 18:32:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




alexey90210 пишет:
Вопрос в том как заставить машину выполнить действие без нажатия сабмит или ентэр просто при выборе опции из списка
Для осуществления решения предполагаемой задачи необходимо использование элементов описания приложения на клиентской стороне обеспечиваемое средствами JS-скриптов - в таком случае возможно осуществление обработки требуемых событий для конкретных объектов и агрегационных вариантов с целью включения программного действия при целевом условии


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
alexey90210
Отправлено: 01 Февраля, 2011 - 12:27:25
Post Id


Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




JustUserR пишет:
alexey90210 пишет:
Вопрос в том как заставить машину выполнить действие без нажатия сабмит или ентэр просто при выборе опции из списка
Для осуществления решения предполагаемой задачи необходимо использование элементов описания приложения на клиентской стороне обеспечиваемое средствами JS-скриптов - в таком случае возможно осуществление обработки требуемых событий для конкретных объектов и агрегационных вариантов с целью включения программного действия при целевом условии


уважаемый JustUserR
я сделал:
echo "<select name = \"hr_select\" onChange=\"moo.submit();\">
и всё заработало без явы-скрипт
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB