2013-08-06 32 views
1

我一直在爲一個主頁設計的js文件上工作。 我想通過導航菜單欄從此頁導航到其他頁面。 目標頁面共享相同的模板(一個html代碼),因此要轉到特定的頁面,我需要加載一個特定的內容,它保存在一個xml文件中,然後將其內容傳遞到目標頁面。從html頁面的url獲取文檔對象

function loadFileToElement(filename, elementId) 
{ 
    var xhr = new XMLHttpRequest(); 
    try 
    { 
    xhr.open("GET", filename, false); 
    xhr.send(null); 
    } 
    catch (e) { 
    window.alert("Unable to load the requested file."); 
    } 
    // Until this point I can load the specific content 
    // How can I get from the url of the target page 
    // a js document object, so that I can call getElementById(Id) 
    // to pass the specific content. 
    // For instance: Im currently opnening X1:= www.main.com 
    // und I would like to switch to X2 := www.targetpage.com 
    // target page which contains html the templat. 
    // The problem **document** represents currently X1 
    // but i would like to set it to X2 so that I can pass 
    // the content of xhr.responseText to it 
    var component = **document**.getElementById(elementId); 
    component.innerHTML = xhr.responseText; 
    } 

Thanks 

回答

0

試試這個,我已經添加xhr.onload功能,其中填充文本從響應

function loadFileToElement(filename, elementId) 
{ 
    var xhr = new XMLHttpRequest(); 
    try 
    { 
     xhr.open("GET", filename, false); 
     xhr.onload = function() { 
      var component = document.getElementById(elementId); 
      component.innerHTML = xhr.responseText; 
     } 
     xhr.send(null); 
    } 
    catch (e) { 
     window.alert("Unable to load the requested file."); 
    } 
} 

返回您還可以使用onreadystatechange事件,而不是onloadclick for more reference

+0

我你首先坦克的快速答覆。但內部函數'xhr.onload = function(){}'不適用於我。我試圖在這個函數中顯示一個警告消息。但它不起作用 – user2315181

+0

@ user2315181,我已更新回答 – Satpal

+0

對不起,也許我不清楚,我的意思是以下內容:例如:我目前正在運行X1:= www.main.com und我想切換到X2:= www.targetpage.com包含html模板的目標頁面。問題***文檔***代表當前X1,但我想將其設置爲X2,以便我可以將xhr.responseText的內容傳遞給它 – user2315181

0

試試這個

function loadFileToElement(filename, elementId) 
{ 
    var xhr = new XMLHttpRequest(); 
    try 
    { 
     xhr.open("GET", filename, false); 
     xhr.onload = function() { 
      var com = document.getElementById(elementId); 
      com.innerHTML = xhr.responseText; 
     } 
     xhr.send(); 
    } 
    catch (e) { 
     window.alert("Unable to load the requested file."); 
    } 
} 

Reference

+0

對不起,也許我不清楚,我的意思是什麼:例如:我目前正在運行X1:= www.main.com und我想切換到包含html模板的X2:= www.targetpage.com目標頁面。問題文檔當前代表X1,但我想將其設置爲X2,以便我可以將xhr.responseText的內容傳遞給它 – user2315181