Javascript не выполняется при динамической загрузке контента (AHAH) - PullRequest
1 голос
/ 15 сентября 2010

Я динамически загружаю контент в div, когда пользователь нажимает на ссылку, используя этот код:

function ahah(url, target) {
  document.getElementById(target).innerHTML = 'Opening form...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {ahahDone(url, target);};
    req.open("GET", url, true);
    req.send("");
  }
}  

function ahahDone(url, target) {
  if (req.readyState == 4) { // only if req is "loaded"
    if (req.status == 200) { // only if "OK"
      document.getElementById(target).innerHTML = req.responseText;
    } else {
      document.getElementById(target).innerHTML=" AHAH Error:\n"+ req.status + "\n" +req.statusText;
    }
  }
}

function load(name, div) {
    ahah(name,div);
    return false;
}

Это прекрасно работает, однако я не могу заставить работать какой-либо javascript с этим новым контентом, таким как jquery datapicker, или даже просто document.write hello world. JS там в коде, просто не работает. Я загрузил контент прямо в браузер, и он отлично работает.

Я в растерянности, любые идеи очень ценятся!

1 Ответ

0 голосов
/ 15 сентября 2010

Если вы все равно используете jquery, попробуйте также использовать jquery.ajax(). Вы можете включить любые скрипты, которые вам нужны, в <head>, а затем вызвать свой указатель даты или w / e в функции обратного вызова вашего вызова jquery ajax.

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