【问题标题】:How to execute a js function uses elements of another function which brings ajax page如何执行一个js函数使用另一个函数的元素,它带来了ajax页面
【发布时间】:2012-10-11 14:38:56
【问题描述】:

在我的“index.php”页面中,我从用户那里获取某物并使用“ajax.php”在 div 中给出响应。 ajax 页面返回一个有序列表,分为称为页面的 div。加载 ajax 后,我需要执行一个函数来设置页面的一些 css 属性。当我将它附加到按钮的 onClick 事件时,该功能已准备就绪并且可以正常工作。但我想在加载 ajax 页面后自动执行它。我试过了:

  1. onload 事件也在页面顶部和页面底部的 index.php 和 ajax.php 中--> 它不起作用
  2. function in function showAjax(){...setCSS();}--> 加载整个 ajax 页面后运行失败
  3. 回调函数-->不能正常工作
  4. onClick 事件 onClick="showAjax(); setCSS();"--> 不起作用

我不使用 jQuery。我检查了类似的问题解决方法,但它们不起作用。我很感激有人能把我从这个麻烦中解救出来。谢谢

添加代码:

var xmlHttp;

function loadXMLDoc(url,cfunc) {
    if (window.XMLHttpRequest) {
        xmlHttp=new XMLHttpRequest();
    } 
    else {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    } 
    xmlHttp.onreadystatechange=cfunc; 
    xmlHttp.open("GET",url,true); 
    xmlHttp.send();
}

function showAjax(x) { 
    loadXMLDoc("ajax.php?obj="+x,function() {
       if (xmlHttp.readyState==4 && xmlHttp.status==200) {
          document.getElementById("sonuclar").innerHTML=xmlHttp.responseText;
       }
    });
}

【问题讨论】:

  • 在我看来,好像您想在 index.php 上调用 XMLHTTPRequest 到 ajax.php 并返回一个有序列表,其中包含 div 的列表项,称为 page 到 index.php,这将改变索引.php。向我们展示您在尝试中使用的 ajax 实现,以及您尝试过的回调函数。
  • 我在上面使用了ajax技术

标签: php javascript css ajax function


【解决方案1】:

我解决了这个问题。 “if (xmlHttp.readyState==4 && xmlHttp.status==200)”这个语句已经在控制 ajax 是否完全加载。所以我将我的 setCSS 函数作为回调添加到 showAjax 函数中

`function showAjax(x, func) {

loadXMLDoc("ajax.php?obj="+x,function() {

   if (xmlHttp.readyState==4 && xmlHttp.status==200) {

      document.getElementById("sonuclar").innerHTML=xmlHttp.responseText;

      func();

   }

});

}

onclick=showAjax(this.value, setCSS);'

【讨论】:

    【解决方案2】:

    好吧,如果您使用自己的 ajax 风格,那么请看看我创建的这个网站: CV Online 并检查我的 httpreq.js,函数 OnStateChange。这在 ajax 请求完成时调用,无论成功与否。如果此脚本有帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多