2014-11-04 2 views
-1

내 웹 페이지에서 나는 자바 스크립트를 사용하여 인쇄하고 싶지만 이미지 ID는 항상 null입니다. 무엇을 나에게 알려 주시기 바랍니다 ..이미지 반환 값 "null"JS

<div class="reportFieldsDiv" runat="server" clientidmode="Static"> 
       <table style="width: 400px; margin: 10px 0px 0px 10px; border: 1px solid black"> 
        <tr> 
         <td> 
          <img src="~/Images/Layout/TestBadge.jpg" alt="ID Badge" id="mainImage"/> 
         </td> 
        </tr> 
       </table> 
       <div style="border: 0px solid black;padding:5px 0px 0px 280px"> 
        <asp:Button ID="btnPrint" runat="server" Text="Print" Width="140px" /> 

       </div> 
      </div> 


    <script type="text/javascript"> 

     window.onload = function() { 
      var image = document.getElementById('mainImage'); 
      printImage(image); 
     }; 


     function printImage(image) { 
      var printWindow = window.open('', 'Print Window', 'height=400,width=600'); 
      printWindow.document.write('<html><head><title>Print Window</title>'); 

      printWindow.document.write('<img id="mainImage" src=\'..\Images\Layout\TestBadge.jpg'); 
      printWindow.document.write(image.src); 
      printWindow.document.write('\' /></body></html>'); 
      printWindow.document.close(); 
      printWindow.print(); 
     } 


    </script> 
+0

을 나는 '당신이 경우 ASP.NET 웹 양식이 다른 ID를 할당 할 것으로 예상 다시'runat = server'를 사용하십시오. 브라우저의 속성을 사용하여 이미지의 실제 ID를 확인하십시오. –

+0

빠른 픽스 였지만, 이제는 팝업 창에서 이미지를 열고 프린트 이벤트를 실행하고 싶습니다. 그러나 어떤 이유로 이미지가 나타나지 않을 것입니다. –

+0

'Runat = Server'는 "classic ASP"에서 작동하지 않으며 Microsoft와 함께 작동하지 않습니다. 절대적으로 필요하지 않은 경우에는하지 마십시오. 그렇지 않으면 다른 디자인을 시도해보십시오. 만약 당신이 "runat = Server"를 제거한다면, 나는 그것이 "작동 할 것"이라고 생각합니다. IMHO ... – FoggyDay

답변

1

당신은 printWindow 문서에 ID를 추가하지 않은 아래와 같이 :

printWindow.document.write('<img id="mainImage" src="..\Images\Layout\TestBadge.jpg"'); 
+0

어떤 이유로 팝업 창이 나타나면 이미지가 보이지 않습니다. 어떻게 해결할 수 있습니까? –

+0

이미지가 왜 나타나지 않는지 알 수 없습니다. 그 이미지가 없기 때문에 HTML을 사용할 때 어쨌든 나에게 오지 않는다. 내가 잘못 생각한 한 가지는 따옴표가 잘못되었습니다. 따옴표가 정확하도록 내 대답을 편집합니다. –