我试图调用javascript函数,允许打印一个div,定义如下:
function printdiv(printpage) {
var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr+newstr+footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}
这是一个js文件夹中的文件“main.js”里面。 HTML文件有一个按钮,调用该函数:
<input id="downloadScan" type="button" onclick="printDiv('document');" class="btn btn-default" value="Print">
而同样的html文件中包含的JavaScript函数的位置:
<script src="./js/main.js"></script>
但是,当我按一下按钮,没有任何反应。我试图直接把功能HTML文件中,而它的工作原理。问题是什么?
通常你会放置脚本标记网页标题(或在某些情况下,人体)然而,考虑它们不存在在页面加载我担心这可能是一个执行顺序的问题。
看起来好像你正在试图动态创建页面,你可以在没有需要创建网页的整个结构,而不仅仅是动态地创建内容(身体)实现这一目标。它也好像你正试图保持身体的内容,做一个“附加”出现。
请尝试以下设置:
的index.html
<html>
<head>
<script src="./js/main.js"></script>
</head>
<body>
<input id="downloadScan" type="button" onclick="appendDiv('Some text not in a div');" class="btn btn-default" value="Print">
<input id="downloadScan2" type="button" onclick="appendDiv('<div>Some content in a div</div>');" class="btn btn-default" value="Print">
</body>
</html>
main.js
function appendDiv(content) {
document.body.innerHTML = document.body.innerHTML + content;
}