Вызов функции JavaScript из HTML в разных местах - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь вызвать функцию 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;
}

Он находится внутри файла 'main.js' в папке 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, и она работает.В чем проблема?

1 Ответ

0 голосов
/ 11 февраля 2019

Обычно вы помещаете теги сценария в заголовок вашей страницы (или в некоторых случаях в тело), ​​однако, учитывая, что они не присутствуют при загрузке страницы, я боюсь, что это может быть проблемой порядка выполнения.

Выглядит так, как будто выпытаясь динамически создавать страницы, вы можете достичь этого без необходимости создавать всю структуру страницы, а вместо этого просто динамически создавать содержимое (тело).Кроме того, создается впечатление, что вы пытаетесь сохранить содержимое тела и выполнить «добавление».

Попробуйте выполнить следующую настройку:

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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...