Button不会调用script - onclick方法

时间:2016-06-06 23:02:38

标签: javascript php jquery html

由于某种原因,我的按钮没有调用脚本,Chrome的控制台回复时出现错误“Unexpected token}”

这是脚本:

  <script type="text/javascript" src="js/jquery-1.10.2.min.js">

  function printContent(el){
    var restorepage = document.body.innerHTML;
    var printcontent = document.getElementById(el).innerHTML;
    document.body.innderHTML = printcontent;
    window.print();
    document.body.innderHTML = restorepage;
  }

</script>

这是我的按钮:

echo '<center>
       <button onclick="printContent("printable");" class="btn btn-default">
        <span class="glyphicon glyphicon-print"></span> &nbsp; Print
       </button>
      </center> ';

回声的原因是我使用PhP根据情况调用按钮。

它假设打印的div看起来像这样:

<div class="container" id="printable">

3 个答案:

答案 0 :(得分:7)

您需要关闭导入jQuery的<script>标记并创建一个新的<script>标记,您可以在其中放置自己的JavaScript,如下所示:

<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script>
  function printContent(el) {
    var restorepage = document.body.innerHTML;
    var printcontent = document.getElementById(el).innerHTML;
    document.body.innerHTML = printcontent;
    window.print();
    document.body.innerHTML = restorepage;
  }
</script>

如前所述,您在键入innerHTML时输了一个拼写错误,我修改了上面的代码,并且因为您在onclick中使用了两次双引号而导致错误,您可以修复将echo更改为此:

echo '<center>
       <button onclick="printContent(\'printable\');" class="btn btn-default">
        <span class="glyphicon glyphicon-print"></span> &nbsp; Print
       </button>
      </center> ';

答案 1 :(得分:0)

我所改变的基本上是从双引号到printContent内的单引号,但你可以使用反斜杠来逃避双引号。

<center>
    <button onclick="printContent('printable')" class="btn btn-default">
        <span class="glyphicon glyphicon-print"></span> &nbsp; Print
    </button>
</center>

我纠正的是从innderHTMLinnerHTML的拼写错误以及更正错误的脚本标记。

<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script>
    function printContent(el){
        var restorepage = document.body.innerHTML;
        var printcontent = document.getElementById(el).innerHTML;
        document.body.innerHTML = printcontent;
        window.print();
        document.body.innerHTML = restorepage;
    }
</script>

答案 2 :(得分:0)

改变这个:

document.body.innderHTML = restorepage;

到此:

document.body.innerHTML = restorepage;

并改变这一点:

<button onclick="printContent("printable");" class="btn btn-default">

到此:

<button onclick="printContent(\'printable\');" class="btn btn-default">

我建议您使用CSS而不是<center>标记。