簡體   English   中英

如何執行js函數使用另一個帶ajax頁面的函數的元素

[英]How to execute a js function uses elements of another function which brings ajax page

在我的“ index.php”頁面上,我從用戶那里得到了某物,並使用“ ajax.php”在div中給出了響應。 ajax頁面返回一個有序列表,該列表分為稱為頁面的div。 加載ajax之后,我需要執行一個設置頁面的某些CSS屬性的函數。 當我將其附加到按鈕的onClick事件時,該函數已准備就緒且可以正常使用。 但是我想在ajax頁面加載后自動執行它。 我試過了:

  1. 頁面頂部和頁面底部的index.php和ajax.php中的onload事件也無法工作->它不起作用
  2. 函數showAjax(){... setCSS();}->中的函數>加載整個ajax頁面后,我無法運行它
  3. 回調函數->無法正常工作
  4. 像onClick =“ showAjax(); setCSS();”->的onClick事件不起作用

我不使用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;
       }
    });
}

我解決了問題。 “如果(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);'

好吧,如果您使用自己的Ajax風格,那么請看一下我創建的以下站點: CV Online ,並檢查我的httpreq.js函數OnStateChange。 當ajax請求完成時(無論成功與否),將調用此方法。 讓我知道此腳本是否有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM