отправка данных в инпут через AJAX
Этот скрипт отправляет данные ajax запроса и записывает их в 2 элемента формы select с именами "maker" и "products" Помогите пожалуйста изменить скрипт так чтобы он записывал данные в селект "maker" (остается без изменения) и в инпут "products"
var request = null; function createRequest() { try { request = new XMLHttpRequest(); } catch (trymicrosoft) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { request = null; } } } if (request == null) alert("Ошибка при создании объекта XMLHttpRequest!"); } 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); } } } var request = null; function createRequest() { try { request = new XMLHttpRequest(); } catch (trymicrosoft) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { request = null; } } } if (request == null) alert("Ошибка при создании объекта XMLHttpRequest!"); } 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); } } } |
Вы опубликовали очень много кода.
Пожалуйста, локализуйте проблему! Выделите фрагмент кода, по которому есть вопрос и опубликуйте его отдельно. И, по возможности, уберите из кода мусор, чтобы нам легче было сориентироваться и помочь решить вашу проблему. Спасибо. P.S. код форматируют специальные теги [ js ] ... [/js], [ html ] ... [/html] и другие аналогичные, сам. http://javascript.ru/formatting |
А че код дублируется?
|
Часовой пояс GMT +3, время: 17:12. |