Я работаю над небольшой идеей веб-сайта, и я не очень хорош во всем этом. По сути, у меня есть HTML-викторина, которая будет предлагать пользователю вопросы, которые я определил в XML.
window.onload = function xml()
{
// get form from HTML
var form = document.getElementById("form");
// get XML document
if (window.XMLHttpRequest)
{
var xmlhttp = new XMLHttpRequest();
}
// open XML
xmlhttp.open("GET", "questions.xml", false);
xmlhttp.send(null);
// initialize elements for do document, questions, and details
var xmlDoc = xmlhttp.responseXML;
var question = xmlDoc.getElementsByTagName("question");
В строке выше я получаю сообщение об ошибке «Невозможно вызвать метод getElementsByTagName со значением null». Странная вещь, однако, заключается в том, что я получаю указанную ошибку только в том случае, если файл XML имеет несколько тегов «вопрос». Если в моем XML есть только один тег «вопрос», вся функция работает отлично. Поэтому мне интересно, что происходит в этом случае, и почему это не сработает для меня.
(остальная часть кода ниже показывает, где я начинаю работать с функцией)
var qXML = xmlDoc.getElementsByTagName("q");
// write values into HTML for each question
for ( i = 0 ; i < question.length ; i++ )
{
// qBlock div for question
var div = document.createElement('div');
div.className = "qBlock";
Этот код продолжает некоторое время, чтобы получить все поля в HTML. В целом, этот блок кода в цикле работает на всем протяжении, если нет нескольких элементов «вопрос».
Большое спасибо всем, кто может помочь / научить меня чему-либо из этого. Также не стесняйтесь сказать мне, если я делаю что-то еще неправильно. Я открыт для любой критики.
questions.xml
? - person icktoofay   schedule 10.06.2013