0

ボタンをクリックして印刷ウィンドウを開いた後、選択したdiv領域を印刷するコードがありますが、問題は、テキストボックスに何かを入力してボタンをクリックすると、テキストボックスの値がページから消え、テキストボックスの値が印刷に表示されないことです窓?

<script>
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
</script>

<div id="printableArea">
<input type="text" >
</div>
<input type="button" onclick="printDiv('printableArea')" value="print a div!" /> 
4

2 に答える 2

0

テキストボックスの値を保持するようにコードを変更しました:

<html>
<head>
<script>
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
var text=document.getElementById("t1").value;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
document.getElementById("t1").value=text;
}
</script>
</head>
<body>
<div id="printableArea">
<input type="text" id="t1">
</div>
<input type="button" onclick="printDiv('printableArea')" value="print a div!" /> 
</body>
</html>
于 2013-03-25T12:27:09.587 に答える
0
function printDiv(divName) {
    var inpText = document.getElementsByTagName("input")[0].value;
    var printContents = document.getElementById(divName).innerHTML;
    var originalContents = document.body.innerHTML;
    document.body.innerHTML = printContents;
    document.getElementsByTagName("input")[0].value = inpText;
    window.print();
    document.body.innerHTML = originalContents;
    document.getElementsByTagName("input")[0].value = inpText;
}
于 2013-03-25T12:29:04.090 に答える