На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > Выподающий список , обработка выбора меню выподающего списка на ПХП
      Нужно написать страничку на ПХП в которой будет несколько выподающих списков и в зависимости от того какой пункт выбран в первом списке зависят пункты в следующих. Вопрос как обработать выбор пункта из выподающего списка, наверное с обновлением этойже страницы. Тоесть как обновить страницу при выборе пункта в списке. желательно примерчик ;)
      Спасибо!
        Если я правильно понял вопрос, то при выборе пункта надо загружать эту же страницу, передав ей значение выбора, т.е.
        ExpandedWrap disabled
          <a href="your_page.php?choice=1">Первый пункт</a>

        Далее в PHP принимаешь этот параметр методом get и строишь свои меню дальше.
          а можно по подробнее примерчик, то както не получаецца :)
            Что именно поподробнее? Отправка должна быть понятна... приём:
            ExpandedWrap disabled
               if(isset($_GET['choice']) {$ch=$_GET['choice'];}
              например
              ExpandedWrap disabled
                 
                script>
                function whazzup() {
                monsters.selected.value=monsters.race.value;
                }
                </script>
                <?
                $a;
                echo "<form name='monsters'>";
                echo "<select name='race' onchange='whazzup();'>";
                echo "<option value='elf'>elf";
                echo "<option value='hobbit'>hobit";
                echo "<option value='uruk-hai'>uruk-hai";
                echo "</select>";
                echo "</form>";
                ?>

              нашел только такой пример где выбранное значение передается в едит, а как например передать его в $a ? чтоб потом if($a == 'elf') и так далее
                Так ты через select! Тогда просто:


                ExpandedWrap disabled
                   if(isset($_POST['monsters']) {$ch=$_POST['monsters'];}


                В переменной $ch будет находится значение elf, hobbit или uruk-hai

                Кстати, ты должен в форме указать метод передачи. Я дал пример post.
                Сообщение отредактировано: Argentum -
                  и куда ее разместить, ты можешь показать весь код от начала до конца на моем примере?
                  а то у меня не отрабатывается вообще
                  заранее благодарен!
                    Да...я там ошибся... Этот код проверил - рабочий:
                    ExpandedWrap disabled
                      <?
                      echo "<form method='POST' name='monsters'>";
                      echo "<select name='race' onchange='whazzup();'>";
                      echo "<option value='elf'>elf";
                      echo "<option value='hobbit'>hobit";
                      echo "<option value='uruk-hai'>uruk-hai";
                      echo "</select>";
                      echo "<input type='submit' value='ok'>";
                      echo "</form>";
                       if(isset($_POST['race']))
                       {$ch=$_POST['race'];
                       echo "Your choice is ".$ch;}
                      ?>
                      мне как раз нужно без кнопки, тоесть при выборе из списка сразу происходит обновление данных
                        Вот без кнопки. После изменения идёт сабмит.
                        ExpandedWrap disabled
                           
                          <?
                          echo "<form method='POST' name='monsters'>";
                          echo "<select name='race' onchange='document.forms[\"mosters\"].submit();'>";
                          echo "<option value='elf'>elf";
                          echo "<option value='hobbit'>hobit";
                          echo "<option value='uruk-hai'>uruk-hai";
                          echo "</select>";
                          echo "</form>";
                           if(isset($_POST['race']))
                           {$ch=$_POST['race'];
                           echo "Your choice is ".$ch;}
                          ?>
                        Сообщение отредактировано: Rom@nych -
                          Хм... без кнопки... Возможно, с этим справится Javascript, но я в этом не силён.
                          А по чему без конпки-то. Пользователь может ошибиться... Обычно делают так, чтобы пользователь точно выбрал пункт, потом нажал и тогда только пошёл запрос на сервер. Обновления страницы всё равно не избежать, если ты на PHP хочешь
                            страница получится слишком загружена кнопками, на странице предпологается 2 выподающих списка один просто список и два едита и все это должно подтвердаться на внесение в базу одной кнопкой. в моем примере есть как раз джава скрипт но для себя я его переделать не смог.. :wall:
                            спасибо за помощь, вопрос остается открытым....
                              А ведь можно и без перезагрузки, в JS нарезать.
                                Цитата TrivialCore @ 27.07.04, 07:24
                                А ведь можно и без перезагрузки, в JS нарезать.

                                как?? :blink:
                                  Посмотри ету тему Добавить <option> в <select>
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:


                                  Рейтинг@Mail.ru
                                  [ Script execution time: 0,0421 ]   [ 15 queries used ]   [ Generated: 27.04.24, 13:57 GMT ]