从不同的位置HTML调用JavaScript函数

问题描述 投票:0回答:1

我试图调用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文件中,而它的工作原理。问题是什么?

javascript html jdbc
1个回答
0
投票

通常你会放置脚本标记网页标题(或在某些情况下,人体)然而,考虑它们不存在在页面加载我担心这可能是一个执行顺序的问题。

看起来好像你正在试图动态创建页面,你可以在没有需要创建网页的整个结构,而不仅仅是动态地创建内容(身体)实现这一目标。它也好像你正试图保持身体的内容,做一个“附加”出现。

请尝试以下设置:

的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;
 }

https://jsfiddle.net/acvgout7/

© www.soinside.com 2019 - 2024. All rights reserved.