2013-05-05 66 views
0

我正在使用IE清除iframe內容以允許重新加載

我有一個簡單形式的jsp頁面和一個iframe標記來提供結果。

當我點擊提交按鈕時,就在提交表單之前,我需要清除之前加載的iframe內容(如果有的話)。

<form name="Iamaform" action="<%=contextPath%>/Someservlet" id="Iamaform" method="post" target="result"> 

一些提交點擊呼叫按鈕刷新()

</form> 

的iframe:

<iframe id="result" name="result" src="blank.html" onload="bufferloaded()" style="display:none;"></iframe> 

js函數:

function Refresh() 
    { 
    var frm = document.Iamaform; 
    var rDoc = document.frames('result').document; 

    //I need to clear the iframe before every form submit 
    if(rDoc.all('refreshResults') != null){ 
     rDoc.all('refreshResults') = null; //this throws an error when i hit submit the second time 
    } 
    window.Response.innerHTML =''; 
     frm.submit (); 
} 

    function BufferLoaded() 
    { 

    var rDoc = document.frames('result').document; 

    if(rDoc == null || 
     rDoc.all('refreshResults') == null || 
     (rDoc.all('refreshResults') + '') == 'undefined') 
     return false; 

    if(rDoc.all('refreshResults').innerText == 'TIMEOUT') 
    { 
     return false; 
    } 

    window.Response.innerHTML = rDoc.all('refreshResults').innerText; 

     } 
+1

爲什麼你需要清除它?它會在你載入一個新文檔時自動刷新 – Cherniv 2013-05-05 11:46:22

+0

'document.all'和'document.frames'是數組,而不是函數。你應該使用'document.frames ['result']'而不是'document.frames('result')';相同的'document.all'。實際上,如果可以避免的話,請不要使用'document.all'。使用標準的'document.getElementsById()'; – rvighne 2013-12-01 18:01:52

回答

0
document.frames['result'].src = "about:blank"; 

這將清除幀。但是,我不知道你爲什麼要這樣做,因爲在加載新頁面之前設置一個框架src會自動清除框架。