Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.01.2013, 16:37
Профессор
Посмотреть профиль Найти все сообщения от imediasun1
 
Регистрация: 23.12.2012
Сообщений: 437

отправка данных в инпут через AJAX 2
Этот скрипт отправляет данные ajax запроса и записывает их в 2 элемента формы select с именами "maker" и "products" Помогите пожалуйста изменить скрипт так чтобы он записывал данные в селект "maker" (остается без изменения) и в инпут "products"
function getList(ctg, mkr) {
  document.getElementById("product").innerHTML = '<option value="0">Выберите</option>';
  if ( mkr == "" )
    url = "../action/getList.php?category=" + ctg;
  else
    url = "../action/getList.php?category=" + ctg + "&maker=" + mkr;
  createRequest();
  request.open("GET", url, true);
  request.onreadystatechange = makeList;
  request.send(null);
}
 
function makeList() {
  // только при состоянии "complete"
  if (request.readyState == 4) {
    // для статуса "OK"
    if (request.status == 200) {
      // здесь идут построение списков заново
      responseXml = request.responseXML;
      xmlDoc = responseXml.documentElement;
      action = xmlDoc.getElementsByTagName("action")[0].firstChild.data;
      options = xmlDoc.getElementsByTagName("options")[0].firstChild.data;
      if ( action == "makeMakerList" )
        document.getElementById("maker").innerHTML = options;
      else
        document.getElementById("product").innerHTML = options;
    } else {
      alert("Не удалось получить данные от сервера:\n" + request.statusText);
    }
  }
}

function getList(ctg, mkr) {
  var _select = document.getElementById("product");
  _select.innerHTML = ""; // Удаляем всех потомков
  var option = document.createElement("option");
  var optionText = document.createTextNode("Выберите");
  option.appendChild(optionText);
  option.setAttribute("value", "0");
  _select.appendChild(option);
  if ( mkr == "" )
    url = "../action/getList.php?category=" + ctg;
  else
    url = "../action/getList.php?category=" + ctg + "&maker=" + mkr;
  createRequest();
  request.open("GET", url, true);
  request.onreadystatechange = makeList;
  request.send(null);
}
 
function makeList() {
  // только при состоянии "complete"
  if (request.readyState == 4) {
    // для статуса "OK"
    if (request.status == 200) {
      // здесь идет построение списков заново
      var responseXml = request.responseXML;
      var xmlDoc = responseXml.documentElement;
      var action = xmlDoc.getElementsByTagName("action")[0].firstChild.data;
      if ( action == "makeMakerList" ) {
        _select = document.getElementById("maker");        
      } else {
       _select = document.getElementById("product");
      }
      _select.innerHTML = ""; // Удаляем всех потомков
      options = xmlDoc.getElementsByTagName("option");
      for (var i=0; i<options.length; i++) {
        // Извлекаем значение атрибута value и текст
        var value = options[i].getAttribute("value");
        var text = options[i].firstChild.data;
        // Формируем очередной элемент option
        var option = document.createElement("option");
        var optionText = document.createTextNode(text);
        option.appendChild(optionText);
        option.setAttribute("value", value);
        _select.appendChild(option);
      }
    } else {
      alert("Не удалось получить данные от сервера:\n" + request.statusText);
    }
  }
}
Ответить с цитированием
  #2 (permalink)  
Старый 30.01.2013, 18:13
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Так вы не только функции дублируете, но и свои посты...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка данных в инпут через AJAX imediasun1 Элементы интерфейса 2 30.01.2013 18:06
Через ajax отправить много данных из таблицы на сервер Heger jQuery 3 29.08.2012 18:51
При отправке через ajax, в данных появляются мнемоники nikolayseo Общие вопросы Javascript 1 03.02.2012 00:48
отправка данных через $.post и обработка контроллером dsnj AJAX и COMET 8 29.11.2011 13:48
Просмотр передаваемых данных через AJAX Гость AJAX и COMET 3 04.08.2008 14:34