2012-10-21 17 views
2

在我的「index.php」頁面中,我從用戶身上取出並使用「ajax.php」在div中給出響應。 ajax頁面返回一個有序列表,分成稱爲頁面的div。加載ajax之後,我需要執行一個函數來設置頁面的一些CSS屬性。當我將它連接到按鈕的onClick事件時,該功能已準備好並可正常工作。但我希望在加載ajax頁面後自動執行它。我想:如何執行js函數使用另一個函數的元素,它帶來了ajax頁面

  1. 的onload事件也index.php文件和ajax.php在頁面的頂部,並在頁面的底部 - >它不會在功能上showAjax工作
  2. 功能( ){... setCSS();} - >我沒有運行它在整個ajax頁面加載後
  3. 回調函數 - >它不能正常工作
  4. onClick event 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; 
     } 
    }); 
} 
+0

在我看來好像你想調用index.php上的XMLHTTPRequest到ajax.php並返回一個有序列表,其中包含名爲pages的div的列表項,以index.php來改變index.php的css表示。向我們展示您在嘗試中使用的ajax實現以及您嘗試的回調函數。 – johnrom

+0

我使用上面的adejax技術 – user1720057

回答

0

我解決了這個問題。 「if(xmlHttp.readyState == 4 & & xmlHttp.status == 200)」如果ajax完全加載,則此語句已經控制。所以我加我setCSS功能分爲showAjax功能回調

`函數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);」

-1

好吧,如果你用你自己的Ajax的味道,那麼請看看這個網站,我創建: CV Online,檢查我的httpreq.js,功能OnStateChange。這在ajax請求完成時調用,並且成功與否。讓我知道這個腳本是否有幫助。

+0

-1:不要提供鏈接到網站,張貼相關的代碼。 –

相關問題