
在使用 javascript 打印表单时,可能会遇到修改后某些表单元素不起效的情况,如 textarea 内容无法显示或复选框不呈现选中状态。
原因是获取元素内容时使用的是 outerHTML,该方法会返回元素及其子元素的 HTML 标记代码,但其中不包含表单元素的实际值。
修改方法如下:
使用 cloneNode 方法克隆原表单元素,该方法能复制元素及其内容的副本,从而获取表单元素的真实值。
修改后的代码:
立即学习“Java免费学习笔记(深入)”;
let docHtml1 = ''docHtml1 += $('#divKanZhengPanel-binli').cloneNode(true).prop('outerHTML');
完整代码:
Document document.getElementById('dw').addEventListener('click', function () { $('#print-iframe').remove(); // 每次打印前移除先前生成的元素 // 开始打印 let iframe1 = document.createElement('IFRAME'); let doc1 = null; iframe1.setAttribute('id', 'print-iframe'); iframe1.setAttribute('style', 'position:absolute;width:0px;height:0px;left:-0px;top:-0px;visibility: auto;'); document.body.appendChild(iframe1); setTimeout(function () { doc1 = iframe1.contentWindow.document; doc1.body.appendChild(document.querySelector('#divKanZhengPanel-binli').cloneNode(true)); doc1.close(); iframe1.contentWindow.focus(); iframe1.contentWindow.print(); }); });
以上就是使用 JavaScript 打印表单时,如何获取表单元素的真实值?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1558828.html
微信扫一扫
支付宝扫一扫