2015-02-23 88 views
1

我希望我的程序能夠像這樣工作:當我在html中按超鏈接時,我希望它將新內容加載到「內容」部分。我有一個這樣做的示例代碼。但我試圖在裏面插入一個dygraph,我發現這個例子只傳遞字符串。我試圖插入沒有出現在內容的圖表中,只有基本的HTML出現(按鈕,背景顏色等)JavaScript - 插入到HTML的內容部分

function loadPage(page) 
{ 
    if(window.XMLHttpRequest) 
    { 
     xmlhttp = new XMLHttpRequest(); 
    } 
    else 
    { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.open("GET", page, true); 
    xmlhttp.setRequestHeader("Content-type", 
          "application/x-www-form-urlencoded"); 
    xmlhttp.send(); 

    xmlhttp.onreadystatechange = function() 
    { 
     if((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) 
     { 
      document.getElementById("content").innerHTML = xmlhttp.responseText; 
     } 
    } 
} 

,如果我沒有錯,loadPage功能需要進行編輯。但我不知道如何。希望你們可以用外行人的話來回答我。

+0

你的代碼非常好,甚至認爲我可能想在'xmlhttp.responseText'和'xmlhttp.response'之間進行實驗。如果你能看到一些正確解析的HTML元素,這意味着你錯誤地認爲你的'dygraph'應該像你想象的那樣出現。也許你需要用'dygraph' API來初始化你的DOM。你需要提供關於這個'dygraph'的更多信息。 – Calvintwr 2015-02-23 06:14:58

+0

我想顯示內容部分中的任何簡單的dygraph。像這樣的http://dygraphs.com/tutorial.html – daisura99 2015-02-23 07:06:20

回答

0

您需要在獲取後將您新檢索的內容傳遞給dygraph

function loadPage(page) { 
    if (window.XMLHttpRequest) { 
     var xmlhttp = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); 

     xmlhttp.open("GET", page, true); 
     xmlhttp.setRequestHeader("Content-type", 
          "application/x-www-form-urlencoded"); 
     xmlhttp.send(); 

     xmlhttp.onreadystatechange = function() { 
      if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) { 
       var g = new Dygraph('content', xmlhttp.responseText, [rest of your parameters]); 
      } 
     } 
    } 
} 
+0

非常感謝你..我會努力工作..非常感謝 – daisura99 2015-02-23 11:08:22

+0

嗨卡爾文,我很抱歉,但你是什麼意思/ /初始化你的新HTML?我是否在那裏插入整個html代碼? – daisura99 2015-03-09 12:34:58

+0

我更新了答案。你能看看你是否明白嗎?如果沒有,請在JSFiddle上提供一個工作示例,我會爲您解決它。 – Calvintwr 2015-03-10 09:12:00