Alexei8

Статус
  • Активный

Последние сообщения Alexei8

  • F.A.Q.Интерактивный select без перезагрузки страницы • 25 октября 2011 г. 23:02

    Для файла select.php<script>function doload(value){var req=new JsHttpRequest();req.onreadystatechange=function(){if(req.readyState==4) document.getElementById("result").innerHTML=req.responseText;}req.open(null,"select2.php",true);req.send({country:value});}</script&g...
    Для файла select.php
    <script>
    function doload(value){
    var req=new JsHttpRequest();
    req.onreadystatechange=function(){
    if(req.readyState==4) document.getElementById("result").innerHTML=req.responseText;}
    req.open(null,"select2.php",true);
    req.send({country:value});}
    </script>

    <script>
    function doload2(value){
    var req=new JsHttpRequest();
    req.onreadystatechange=function(){
    if(req.readyState==4) document.getElementById("result2").innerHTML=req.responseText;}
    req.open(null,"select3.php",true);
    req.send({country:value});}
    </script>


    <!– Нетрудно догадаться, что мы сделали. Смотрите: ниже мы объявим тег select, в котором пропишем вызов функции doload с параметром this.value, то есть с выбранным в select`e значением. А вышенаписанная функция посылает запрос в скрипт select2.php и передаст ему значение country=value. Затем результат выведет в элемент с id=result. Итак, поехали… –>

    <!– Создаем форму –>

    <form action="sript.php" method="POST">

    <!– Теперь пихаем в нее первый select –>

    <select name="country" onchange="doload(this.value);">
    <option value="no" selected>Выберите страну…</option>
    <option value="russia">Россия</option>
    <option value="ukraine">Украина</option>
    </select>

    <br><br>

    <!– Вставляем тэг с нашим идентификатором, вместо которого у нас будет появляться второй select –>

    <div id="result"></div>

    <br><br>

    <div id="result2"></div>

    <br><br>



    Для файла select2.php


    select.php

    case "russia":
    $html="<select name=\"provider\"   onchange='doload2(this.value)' >
    <option value='1' >МТС</option>
    <option value='2' >Билайн</option>
    <option value='3' >Мегафон</option>
    </select>";
    break;

    // С Россией разобрались. Переходим к Украине

    case "ukraine":
    $html="<select name=\"provider\">
    <option>KievGSM</option>
    <option>UKRGSM</option>
    </select>";
    break;


    соотвественно сделал файл select3.php
    <?
    require("JsHttpRequest.php"); //Подключаем библиотеку
    $JsHttpRequest=new JsHttpRequest("windows-1251"); //Создаем экземпляр класса, указываю рабочую кодировку.

    //Далее все просто. В зависимости от выбранного параметра в первом select`e, заполняем переменную $html необходимым кодом.

    switch($_REQUEST["country"]):

    //Поехали…

    case "1":
    $html="<select name=\"new\"    ">
    <option>МТС 1</option>
    <option>МТС 2</option>
    <option>МТС 3</option>
    </select>";
    break;



    //С Украиной тоже разобрались. Далее можно понапихать еще чего-нибудь (не забывая редактировать первый select в первом файле). Но мы пока закончим на этом.

    default: $html=666;
    endswitch;

    //В общем-то, все. Теперь просто выводим переменную $html, которую успешно "поймает" наша функция doload().

    echo $html;
    ?>
    Спустя 112 сек.
    черным указаны изменения которые были внесены
  • F.A.Q.Интерактивный select без перезагрузки страницы • 25 октября 2011 г. 22:27

    Уважаемые профессионалы помогите сделать третий, а если можно и четвертый Связанны select именно для этого скрипта (Представлен в начале темы). Я внимательно прочитал все ответы но кода как это сделать так и не нашёл.
    Уважаемые профессионалы помогите сделать третий, а если можно и четвертый Связанны select именно для этого скрипта (Представлен в начале темы). Я внимательно прочитал все ответы но кода как это сделать так и не нашёл.