Помогите с ajax и php

Тема в разделе "Как сделать...", создана пользователем Juri, 24 сен 2009.

Статус темы:
Закрыта.
  1. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.065
    Симпатии:
    197
    добрый день, есть меню на ajax но столкнулся с проблемой, помогите решить. Суть такова, есть 3 селект списка, естественно все они зависимы. то есть выбираем первый, идет обращение к php скрипту и генерируется второй, так же и с третим. все это в форме вместе с другими полями, отправляем записываем в бд. затем нужно будет отредактировать эту запись. как сделать так что б на странице редактирования сразу отображались выбранные пункты.
    PHP:
    <script type="text/javascript">
    var 
    ajax = new Array();
    function 
    getCityList(sel)
    {
        var 
    countryCode sel.options[sel.selectedIndex].value;
        
    document.getElementById('dhtmlgoodies_city').options.length 0;    // Empty city select box
        
    if(countryCode.length>0){
            var 
    index ajax.length;
            
    ajax[index] = new sack();
            
    ajax[index].requestFile 'getCities.php?countryCode='+countryCode;    // Specifying which file to get
            
    ajax[index].onCompletion = function(){ createCities(index) };    // Specify function that will be executed after file has been found
            
    ajax[index].runAJAX();        // Execute AJAX function
        
    }
    }
    function 
    getCityList2(sel)
    {
        var 
    countryCode2 sel.options[sel.selectedIndex].value;
        
    document.getElementById('dhtmlgoodies_city2').options.length 0;    // Empty city select box
        
    if(countryCode2.length>0){
            var 
    index ajax.length;
            
    ajax[index] = new sack();
            
    ajax[index].requestFile 'getCities2.php?countryCode2='+countryCode2;    // Specifying which file to get
            
    ajax[index].onCompletion = function(){ createCities2(index) };    // Specify function that will be executed after file has been found
            
    ajax[index].runAJAX();        // Execute AJAX function
        
    }
    }
    function 
    createCities(index)
    {
        var 
    obj document.getElementById('dhtmlgoodies_city');
        eval(
    ajax[index].response);    // Executing the response from Ajax as Javascript code
    }
    function 
    createCities2(index)
    {
        var 
    obj document.getElementById('dhtmlgoodies_city2');
        eval(
    ajax[index].response);    // Executing the response from Ajax as Javascript code
    }
    </script>
    $_sql = "SELECT * FROM country ORDER BY namecountry ASC";
        $_query_country = mysql_query($_sql) or die("Нмогу получить страны!");
     echo "<select id=\"dhtmlgoodies_country\" name=\"dhtmlgoodies_country\" onchange=\"getCityList(this)\"><option value=\"\">--Страна--</option>";
             while($_result = mysql_fetch_array($_query_country))
             {
                 echo "<option value=\"$_result[id_country]\">$_result[namecountry]</option>";
             }
    <select id="dhtmlgoodies_city" name="dhtmlgoodies_city" onchange="getCityList2(this)">
             <option value="">--Направление--</option>
            </select>
    <select id="dhtmlgoodies_city2" name="dhtmlgoodies_city2">
               <option value="">--Курорт--</option>
            </select>

    файлы getCities.php getCities2.php возвращают вот в таком формате

    PHP:
    echo "obj.options[obj.options.length] = new Option('$_result_region[name_region]','$_result_region[id_region]');\n";
    знакомый говорил что можно при помощи window.onload но что то ничего не нарыл :(
    помогите, заранее спасибо
     
  2. omfg

    omfg

    Регистр.:
    4 авг 2009
    Сообщения:
    159
    Симпатии:
    46
    А при помощи php сгенерировать нельзя? :)
     
  3. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.065
    Симпатии:
    197
    нет, потому что при просмотре исходного кода как такового кода нет. помогите пожалуйста, начальство достает :(
     
  4. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
  5. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.065
    Симпатии:
    197

    нет ну если вторая ссылка имеет хоть какое то отношение, то первая вообще не в тему.
    Повторю вопрос, нужно как то сделать что б после отправки первой формы во вторую, данные сразу выстанавливались как селектет. что б не выбирать второй раз
     
  6. fpinger

    fpinger

    Регистр.:
    11 май 2007
    Сообщения:
    253
    Симпатии:
    58
    Что бы править значения их нужно знать для каждого из списков.
    Если знаешь для первого, то можешь вывести спискок и выбранное значение отметить как селекте. Кроме того, зная выбранное значение для первого списка, можно получить второй список. И то же самое для третьего списка.
    На javascript событие на загрузку страницы загружаем первый список. На основе извесного выбраного значения, второй список. И выбранного из него значения третий список. Заполняем селекты отметив атрибутом selected выбранные option

    Вопрос в другом... Каким образом javascript относится к pro php?
     
  7. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.065
    Симпатии:
    197
    тут еще и php участвует, хотя и не в главной роли
     
Статус темы:
Закрыта.