Как получить элемент HTML из другого документа HTML и отобразить в текущем документе? - PullRequest
0 голосов
/ 27 января 2019

Я создаю веб-сайт, который позволяет пользователям размещать запросы на сайте, а другие - отвечать. Я создал форму, похожую на приложение, для сбора информации. В этой форме мне нужно отобразить 3 страницы.

Итак, я создал одну страницу с файлами from и и JavaScript для обработки этих 3 страниц. Другие страницы форм разрабатываются отдельно (только HTML).

Я планирую загрузить две другие страницы на эту первую страницу с помощью XMLHttpRequest, и она работает.

Но мне нужно перенести 3-ю страницу на 1-ю страницу формы (отобразить 3-ю страницу формы) и изменить innerHTML этой 3-й страницы. Я попробовал это с

function setFinalDetails() {
  document.getElementById("topic").innerHTML = object1.start;
}

//creating a XMLHttpObject and sending a request
//requiredPage is the page we request. 
//elementId is the element we need to display

function requestAPage(requiredPage) {

  selectElementId(requiredPage);
  var xhttp = new XMLHttpRequest();


  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
      m = xhttp.responseXML;
      y = m.getElementById(elementId).innerHTML;
      document.getElementById("hireForm").innerHTML = y;

      //m is a global variable
      //m is the object recieved from XMLHttpRequest.
      //it is used to change the innerHTML of itself(m) and display.

      //y is displaying the 3rd page in the form-page one("id =hireForm")

      return m;
    }
  };

  xhttp.open("GET", requiredPage, true);
  xhttp.responseType = "document";
  xhttp.send();
}

но это выдает ошибку:

Невозможно установить свойство .innerHTML для null

найди мою работу на https://github.com/infinitecodem/Taxi-app-form.git

1 Ответ

0 голосов
/ 27 января 2019

Трудно помочь вам в деталях, потому что у нас нет способа воспроизвести вашу ошибку и протестировать ваш код.Я могу предложить вам воспользоваться услугой типа plunker , чтобы поделиться своим кодом.Я не знаю, будет ли эта служба поддерживать выполнение некоторых xhrRequest для других файлов в своем рабочем дереве, вы можете попробовать.

Похоже, ваше сообщение об ошибке показывает, что один из ваших document.getElementById(...) возвращает ноль вместоhtml elt, который вы хотите (таким образом, идентификатор не существует на странице).

Но, опять же, без способа тестирования вам будет сложно помочь вам больше злить.Я настоятельно рекомендую вам поделиться ссылкой на службу (например, plunker и т. Д.), Которая поможет другим поиграть с вашим вариантом использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...