Передача параметров из списка javascript

Discussion in 'PHP' started by mrDeko, 23 Aug 2010.

  1. mrDeko

    mrDeko New Member

    Joined:
    22 Aug 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте!
    Возник вопрос по поводу передачи и принятие параметров из урл с помощью javascript.
    Суть такова:
    На первой странице размещен раскрывающийся список, где необходимо выбрать нужный пункт.
    После нажатия на кнопку открывается вторая страница где отображается выбранный пункт.
    Функция парсящая строку:
    Code:
    <SCRIPT LANGUAGE="JavaScript">
    function getParams() {
    var idx = document.URL.indexOf('?');
    var params = new Array();
    if (idx != -1) {
    var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
    for (var i=0; i<pairs.length; i++) {
    nameVal = pairs[i].split('=');
    params[nameVal[0]] = nameVal[1];
       }
    }
    return params;
    }
    params = getParams();
    </script>
    Список на первой странице:
    Code:
    <form type=get action="***">    <p><select size="1">     <option disabled>Выберите город</option>     <option value="moscow">Москва</option>     <option value="spb">Питер</option>    </select></p>    <p><input type="submit" value="Отправить"></p> </form>
    Вопрос в том как передавать и выводить выбранный в списке пункт? Понимаю если бы текстовое поле..а вот список...
    В JavaScript не силен...Помогите разобраться!
     
    #1 mrDeko, 23 Aug 2010
    Last edited: 23 Aug 2010
  2. mrDeko

    mrDeko New Member

    Joined:
    22 Aug 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    поможет кто-нибудь?)
     
  3. OSW

    OSW Elder - Старейшина

    Joined:
    12 Jul 2007
    Messages:
    320
    Likes Received:
    54
    Reputations:
    7
    имхо на пхп было бы гораздо легче все это дело реализовать))
     
  4. mrDeko

    mrDeko New Member

    Joined:
    22 Aug 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Я с этим не спорю :) Но мне необходимо именно на JavaScript...
    отклинитесь, знающие!) как передать параметр выбранный в списке..?
     
  5. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    HTML:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    </head><body>
    <SCRIPT LANGUAGE="JavaScript">
    function getParams()
    {
      var idx = document.URL.indexOf('?');
      var params = new Array();
    
      if (idx != -1)
      {
        var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
        for (var i=0; i<pairs.length; i++)
        {
          nameVal = pairs[i].split('=');
          params[nameVal[0]] = nameVal[1];
        }
      }
    
      return params;
    }
    
    params = getParams();
    
    if(params["city"])
      alert("Город: " + params["city"]);
    </script>
    <form method="get" action="?">
    <p><select name="city">
    <optgroup label="Выберите город">
    <option value="moscow">Москва</option>
    <option value="spb">Питер</option>
    </optgroup>
    </select></p>
    <p><input type="submit" value="Отправить"></p>
    </form>
    </body></html>
     
    #5 GRRRL Power, 24 Aug 2010
    Last edited: 24 Aug 2010
  6. mrDeko

    mrDeko New Member

    Joined:
    22 Aug 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Спасибо! Еще один вопрос, а как отобразит текстовое значение переменной? чтобы не moscow а Москва?)
     
  7. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    PHP:
    <head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    </
    head><body>
    <
    SCRIPT LANGUAGE="JavaScript">
    function 
    getParams()
    {
      var 
    idx document.URL.indexOf('?');
      var 
    params = new Array();

      if (
    idx != -1)
      {
        var 
    pairs document.URL.substring(idx+1document.URL.length).split('&');
        for (var 
    i=0i<pairs.lengthi++)
        {
          
    nameVal pairs[i].split('=');
          
    params[nameVal[0]] = nameVal[1];
        }
      }

      return 
    params;
    }

    params getParams();

    if(
    params["city"])
    {
      var 
    city "";
      switch(
    params["city"])
      {
        case 
    "moscow":
          
    city "Москва";
          break;
        case 
    "spb":
          
    city "Питер";
          break;
        default:
          
    city "хз";
          break;
      }

      
    alert("Город: " city);
    }

    </script>
    <form method="get" action="?">
    <p><select name="city">
    <optgroup label="Выберите город">
    <option value="moscow">Москва</option>
    <option value="spb">Питер</option>
    </optgroup>
    </select></p>
    <p><input type="submit" value="Отправить"></p>
    </form>
    </body></html>