Javascript在动态加载内容时不执行(AHAH)

时间:2010-09-15 15:59:48

标签: javascript ajax ahah

当用户使用以下代码点击链接时,我正在动态地将内容加载到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 :(得分:0)

如果你正在使用jquery,不妨尝试使用jquery.ajax()。 您可以在<head>中包含所需的任何脚本,然后在jquery ajax调用的回调函数中调用datepicker或w / e。