2017-03-02 4 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 + '
카테고리 :'+ 카테고리 + '
상태 :'+ 상태 + 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 Status 404 -/MobileAppProj/Title – 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; '는 메인 윈도우/폼에 이미지를 표시 할 것입니다. 나는 당신이 그것을 원하지 않는다고 생각합니다. 그리고이 코드는 내 로컬 컴퓨터에서 작동합니다. 팝업이 열리지 않으면 아마도 이미지를로드하는 동안 약간의 오류가있을 것입니다. 콘솔에 어떤 오류가 있습니까? –

+0

예. 맞습니다. 그 대신 이미지를 폼에 표시하고 팝업창에 표시하고 싶지 않습니다. 내 콘솔에 오류가 발생하지 않습니다. 내 미리보기 버튼을 누르면 아무 것도 실행되지 않습니다. – Rev