За последние 24 часа нас посетили 19589 программистов и 1601 робот. Сейчас ищут 1753 программиста ...

как на страницу поместить два скрипта

Тема в разделе "JavaScript и AJAX", создана пользователем leon2009sp, 10 мар 2016.

  1. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    Здравствуйте! как на страницу поместить два одинаковых скрипта? один читает xml1.xml другой xml2.xml
    Код (PHP):
    1. <script>
    2.     function loadXMLDoc(filename) {
    3.         if (window.ActiveXObject) {
    4.             xhttp = new ActiveXObject("Msxml2.XMLHTTP");
    5.         }
    6.         else {
    7.             xhttp = new XMLHttpRequest();
    8.         }
    9.         xhttp.open("GET", filename, false);
    10.         try { xhttp.responseType = "msxml-document" } catch (err) { } // Helping IE11
    11.         xhttp.send(null);
    12.         return xhttp.responseXML;
    13.     }
    14.     document.addEventListener('DOMContentLoaded', function () {
    15.         var xml = loadXMLDoc("xml1.xml"),
    16.             selCity = document.querySelector('#city'),
    17.             selStation = document.querySelector('#station2'),
    18.             i;
    19.         [].forEach.call(xml.querySelectorAll('city'), function (el) {
    20.             selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name')))
    21.         })
    22.         selCity.addEventListener('change', function () {
    23.             selStation.options.length = 0 , i=0;
    24.             [].forEach.call(xml.querySelectorAll('city[name=' + this.value + '] > station2'), function (el) {
    25.                 selStation.add(new Option(el.textContent, ++i));
    26.             })
    27.         })
    28.     })
    29. </script>
    30.  <select id=city><option selected>11111111</option></select>
    31. <div id=station2>222222222</div>
    второй код
    Код (PHP):
    1. <script>
    2.     function loadXMLDoc(filename) {
    3.         if (window.ActiveXObject) {
    4.             xhttp = new ActiveXObject("Msxml2.XMLHTTP");
    5.         }
    6.         else {
    7.             xhttp = new XMLHttpRequest();
    8.         }
    9.         xhttp.open("GET", filename, false);
    10.         try { xhttp.responseType = "msxml-document" } catch (err) { } // Helping IE11
    11.         xhttp.send(null);
    12.         return xhttp.responseXML;
    13.     }
    14.     document.addEventListener('DOMContentLoaded', function () {
    15.         var xml = loadXMLDoc("xml2.xml"),
    16.             selCity = document.querySelector('#word'),
    17.             selStation = document.querySelector('#text2'),
    18.             i;
    19.         [].forEach.call(xml.querySelectorAll('word'), function (el) {
    20.             selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name')))
    21.         })
    22.         selCity.addEventListener('change', function () {
    23.             selStation.options.length = 0 , i=0;
    24.             [].forEach.call(xml.querySelectorAll('word[name=' + this.value + '] > text2'), function (el) {
    25.                 selStation.add(new Option(el.textContent, ++i));
    26.             })
    27.         })
    28.     })
    29. </script>
    30. <select id=word><option selected>33333333</option></select>
    31. <select id=text2>4444444444</select>
    и как в первом коде чтобы результат выдавал в div а не в select

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Это же одинаковые функции loadXMLDoc, может просто добавить аргумент в функцию и туда передавать xml1.xml и xml2.xml.
    Почитай что такое переменные, функции, аргументы функции.
     
  3. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    понял пр:
    Код (PHP):
    1. loadXMLDoc(filename_01) и loadXMLDoc(filename_02)
    а как сделать чтобы в место селект в ДИВ выводил?
    Код (PHP):
    1. <div id=station2>222222222</div>
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    я ничего не понял

    давай сопоставим, у тебя два <select> с id city и station2 и код туда что-то вставляет, найди в коде упоминание city и station2 и переделай на station2
     
  5. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    Код (PHP):
    1. var xml = loadXMLDoc("xml/city.xml"),
    2.                 selCity = document.querySelector('#city'),
    3.                 selStation = document.querySelector('#station2'),
    4.                 i;
    эта часть?
    получается если из select1 выбрать слово, то в select2 будет меняться значение. а я хотел бы чтобы в div помезалось а не в селект2. все берется из xml
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Мне тебя очень сложно понять. У тебя какой уровень? И ты полностью понимаешь весь код который сюда выложил?
     
  7. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    не, я не все понимаю, можно примерчик чтобы в див передать?
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Проще почитать книгу по HTML и JavaScript для начинающих.
    Зачем пример если смысл в том, чтобы понять как всё взаимодействует, какие причинно следственные связи, как всё работает вместе.
    Пример: https://jsfiddle.net/vrgovuqy/
     
  9. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    ну я понимаю весь код который написал теперь! я не могу понять почему в див не высвечивается значение.

    Добавлено спустя 2 минуты 12 секунд:
    скрипт сделан для селекта, а в див то не передает. вот из сити выбираешь и в статион твой выбор выдает, но в селекте. :(
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Всё из-за того что ты взял очень сложную задачу для себя.
    Если бы ты читал книги, то знал бы что нужно разбить задачу на маленькие куски и переписать код который ты не понимаешь.

    Часть кода который отвечает за добавление новых option к select на основе данных из xml
    Код (PHP):
    1. selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name')))
    Работать с div нужно по другому, пример я дал.
    Всё можно прочитать в документации или книгах.
    Зная основы ты как минимум сможешь правильно сформулировать вопрос.
    Могу перенести твою тему в раздел "сделайте за меня", если ты не хочешь учится.
     
  11. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    смысла нет, переносить сделай за меня... тогда я в следующем примере не смогу разобраться. а там хотел перенести в php то что получиться.
     
  12. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Совет: прочитай книгу для начинающих по HTML, CSS и JavaScript по свежее 2014 года.
    Там просто разжуют все последовательности и все нюансы, их запомнишь и всё будет понятно.
     
  13. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    denis01
    Код (PHP):
    1. selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name'))) 
    этот кусок отвечает за чтение (конструктор), но ни каким образом не влияет на div?
     
  14. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Он читает из xml, и добавляет в select option.
    Как писать в div я давал пример.
     
  15. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    Код (PHP):
    1. <script>
    2.         function loadXMLDoc(filename) {
    3.             if (window.ActiveXObject) {
    4.                 xhttp = new ActiveXObject("Msxml2.XMLHTTP");
    5.             }
    6.             else {
    7.                 xhttp = new XMLHttpRequest();
    8.             }
    9.             xhttp.open("GET", filename, false);
    10.             try { xhttp.responseType = "msxml-document" } catch (err) { } // Helping IE11
    11.             xhttp.send(null);
    12.             return xhttp.responseXML;
    13.         }
    14.         document.addEventListener('DOMContentLoaded', function () {
    15.             var xml = loadXMLDoc("xml/city.xml"),
    16.                 selCity = document.querySelector('#city'),
    17.                 selStation = document.querySelector('#station2'),i;
    18.             //    selStation = document.getElementById('#station2'),i;
    19.             [].forEach.call(xml.querySelectorAll('city'), function (el) {
    20.               // selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name')))
    21.               
    22.                 document.getElementById('sec1').innerHTML = el.getAttribute('name'),el.getAttribute('name');
    23.             })
    24.             selCity.addEventListener('change', function () {
    25.                 selStation.options.length = 0 , i=0;
    26.                 [].forEach.call(xml.querySelectorAll('city[name=' + this.value + '] > station2'), function (el) {
    27.                  //   selStation.add(new Option(el.textContent, ++i));
    28.                     document.getElementById('sec1').innerHTML = el.textContent;
    29.                 })
    30.             })
    31.         })
    32.     </script>
    33.     <select id=city><option selected>33333333</option></select>
    34.    <div id="sec1">123</div>
     
  16. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    а хотя бы как ссылку передать может кто подсказать?
    файл xml:
    </cat>
    </category>
    [/quote]
    вывод через див
    Код (PHP):
    1.  <div id="example"/></div> 
     
  17. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Что ты имеешь ввиду?
     
  18. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    у меня получается выдает такую запись:
    • Категория_A
      a1 aa1.php
      a2 aa22.php
      a3 aa33.php

      Категория_B
      bbbb111 index.php
      bb2222 acura.php
      bbb3333 alfaromeo.php[/list:u]
      а как сделать чтобы a1 была ссылка a2,a3, bbbb111 и.т.д.
      index.html
      Код (PHP):
      1. <!DOCTYPE html>
      2. <html>
      3. <head>
      4. <meta charset="utf-8">
      5. <title>Документ без названия</title>
      6. <script>
      7.     function loadXMLDoc(filename) {
      8.         if (window.ActiveXObject) {
      9.             xhttp = new ActiveXObject("Msxml2.XMLHTTP");
      10.         }
      11.         else {
      12.             xhttp = new XMLHttpRequest();
      13.         }
      14.         xhttp.open("GET", filename, false);
      15.         try { xhttp.responseType = "msxml-document" } catch (err) { } // Helping IE11
      16.         xhttp.send("");
      17.         return xhttp.responseXML;
      18.     }
      19.     function displayResult() {
      20.         xml = loadXMLDoc("db.xml");
      21.         xsl = loadXMLDoc("testXSL.xsl");
      22.         // code for IE
      23.         if (window.ActiveXObject || xhttp.responseType == "msxml-document") {
      24.             ex = xml.transformNode(xsl);
      25.             document.getElementById("example").innerHTML = ex;
      26.         }
      27.         // code for Chrome, Firefox, Opera
      28.         else if (document.implementation && document.implementation.createDocument) {
      29.             xsltProcessor = new XSLTProcessor();
      30.             xsltProcessor.importStylesheet(xsl);
      31.             resultDocument = xsltProcessor.transformToFragment(xml, document);
      32.             document.getElementById("example").appendChild(resultDocument);
      33.         }
      34.     }
      35. </script>
      36. </head>
      37. <body onload="displayResult()">
      38.    
      39.    <div id="example"/></div>
      40. </body>
      41. </html>
     
  19. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Тег A для ссылок, почитай по нему документацию, примерно так
    Код (PHP):
    1.  .innerHTML = '< a href="#">'+ex+'</a>';