gpt4 book ai didi

javascript - 使用 javascript 打印带有文本字段的 div 内容时遇到问题?

转载 作者:行者123 更新时间:2023-11-28 03:22:38 25 4
gpt4 key购买 nike

这是我打印的div。

<div id="leftdes">In order to purchase and obtain a copy of your certified IRS Transcript for the year </strong>
<div>
AUTHORIZED SIGNATURE ________________________________
<input title="Enter Date" name="aut_date" id="aut_date" type="text" value="" onClick="rem_valid(this.id);"/>
</div>
<div class="search-raw" style="width:98%;">
<select title="Select Suffix" name="a_suff" id="a_suff" class="input-4" style="padding:5px;" onClick="rem_valid(this.id);">
<option value="" selected="selected">SUFFIX</option>
<option value="Jr">Jr</option>
<option value="Sr">Sr</option>
<option value="I">I</option>
<option value="II">II</option>
<option value="III">III</option>
</select>
</div>
<input title="Enter Company Name" name="a_cname" id="a_cname" type="text" value="" onClick="rem_valid(this.id);"/></br></br>
</div>

我正在尝试使用下面的 javascript 代码打印上面的 div。但是我没有得到输入字段的值。帮我解决这个问题。

function printdiv(divid)
{
var divElements = document.getElementById(divid).innerHTML;
//var name="US Background Check";
var oldPage = document.body.innerHTML;
var current=document.body.innerHTML = "<html><head><title></title></head><body><img src='images/logo.png'/></br>"+divElements+"</body>";
window.print();
document.body.innerHTML=oldPage;
}

单击下面的按钮时调用打印函数“printdiv”。

<input name="but" id="but1" type="button"   value="PRINT"  onClick="printdiv('leftdes');"/>

最佳答案

确实,您不能通过这种方式获取字段的值。但是,您得到的是它们的默认值,而不是用户键入的值。

会发生以下情况:当页面加载时,字段会填充它们的默认值(“”用于文本字段,第一个选项用于下拉菜单)。然后,当用户更改这些字段时,您的 HTML 标记的属性永远不会更改,它们会保留其默认值。

换句话说,当您调用 document.getElementById(divid) ,它返回最初加载的 HTML 代码。如果您通过键入手动更改值,则看不到这些更改。

最简单的解决方案之一是访问这些值,并且在您的函数内部,当您更改 body 的内容时, 只需放置这些值而不是您从 document.getElementById(divid) 获得的 HTML .

var aut_date = document.getElementById("aut_date").value;
var a_suff = document.getElementById("a_suff").value;
var a_cname = document.getElementById("a_cname").value;

document.body.innerHTML = "... <input ... value='"+ aut_date +"' ...> etc.";

顺便说一句,你不需要添加那些 <html><head><title></title></head><body>当你做 var current=document.body.innerHTML = ,因为您已经 body 中了元素。现在,您要在正文中放置一个 HTML 文档、一个页眉和一个页面标题……您也不应该以 </body> 结束您的字符串。 , 出于同样的原因。

关于javascript - 使用 javascript 打印带有文本字段的 div 内容时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23510532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com