2017-03-02 69 views
0

我能夠在除圖像之外的彈出窗口上顯示所有表單域。圖像直接顯示在表單上。在提交之前,它也應該顯示在彈出窗口和其他字段中。在使用javascript上傳之前在彈出窗口中預覽圖像

function openPreview() 
{ 
var title = document.getElementById("title").value; 
var msg= document.ElementByClassName("nicEdit-main")[0].innerHTML; 
var category = document.getElementById("category").value; 
var status = document.getElementById("status").value; 
var oFReader= new FileReader(); 
oFReader.readAsDataURL(document.getElementById("fileupload").files[0]); 
oFReader.onload = function (oFREvent) { 
document.getElementById("uploadPreview").src = oFREvent.target.result; 
}; 
var popWin=window.open(title, 'Preview_Entry'); 
popWin.document.write('Title:' + title + '<br /> Message:' + msg + '<br /> Category: ' + category + '<br /> Status:' + status + oFReader); 
} 
+0

您正在設置主窗口上圖像的「src」。相反,你應該在彈出窗口上創建一個圖像標籤,並將其設置爲'src' –

+0

我創建了一個var並將其寫入popWin.document.write中。但我正面臨着顯示它的問題。 popWin.document.write('標題:'+標題+'
消息:'+ msg +'
分類:'+ category +'
狀態:'+ status + imgUrl); – Rev

回答

1

變化的最後一行應該給你所需要的輸出

var oFReader= new FileReader(); 
var imgUrl; 
oFReader.readAsDataURL(document.getElementById("fileupload").files[0]); 
oFReader.onload = function (oFREvent) { 
document.getElementById("uploadPreview").src = oFREvent.target.result; 
imgUrl=oFREvent.target.result; 
}; 
var popWin=window.open(title, 'Preview_Entry'); 
popWin.document.write('Title:' + title + '<br /> Message:' + msg + '<br />  Category: ' + category + '<br /> Status:' + status + '<br />' +"<img src='" + imgUrl + "' />); 
+0

我想你忘了關閉它。所以我編輯爲+'');但它仍然在彈出式窗口中顯示錯誤! – Rev

+0

你得到的錯誤是什麼?你可以請張貼嗎? –

+0

我在彈出的窗口中看到了這個。但圖像正在我的表單上顯示! HTTP狀態404 -/MobileAppProj /標題 – Rev

0

你需要一次將圖像數據加載到打開彈出。這樣你就可以相應地設置預覽圖像的src。試試這個:

var oFReader= new FileReader(); 
oFReader.readAsDataURL(document.getElementById("fileupload").files[0]); 
oFReader.onload = function (oFREvent) { 
    var popWin=window.open('about:blank', 'Preview_Entry'); 
    popWin.document.write('Title:' + title + 
    '<br /> Message:' + msg + 
    '<br />  Category: ' + category + 
    '<br /> Status:' + status + 
    '<br />' + 
    '<img src="' + oFREvent.target.result + '" /> '); 
    popWin.document.close(); 
}; 
+0

我試過這種方法,但沒有任何反應,當我點擊我的預覽按鈕!沒有窗口也彈出。爲什麼你刪除這行:document.getElementById(「uploadPreview」)。src = oFREvent.target.result; – Rev

+0

'document.getElementById(「uploadPreview」)。src = oFREvent.target.result; '將在主窗口/窗體中顯示圖像..我想你不想要它。而這段代碼正在我的本地機器上運行。如果popup沒有打開,那麼加載圖像時可能會出現一些錯誤。你在控制檯遇到什麼錯誤? –

+0

是的。我不希望圖像顯示在窗體上,而是在彈出的窗口上。我在控制檯上沒有收到任何錯誤。只是當我按下我的預覽按鈕時沒有執行任何操作。 – Rev