为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PHP 调用脚本函数

使用 PHP 调用脚本函数

PHP
qq_笑_17 2022-09-25 20:05:34
我正在尝试用PHP调用一个脚本函数。脚本函数如下:<script type="text/javascript">function printDiv(divName){    var printContents = document.getElementById(divName).innerHTML;    var originalContents = document.body.innerHTML;    document.body.innerHTML = printContents;    window.print();    document.body.innerHTML = originalContents;}</script>我用这段代码来运行PHP函数:if (array_key_exists('ykpost', $_POST)) {    // do something with php    $printyk = '<script type="text/javascript">printDiv("PrintableArea");</script>';    echo $printyk;}打印内容如下:<div id="printableArea" class="printDiv">    //some content with created by php</div>我用这个表格发帖:<form id="ykbarcodepost" method="post">    <input type="submit" class="btn" value="Print Barcode" name="ykpost" /></form>但它不会打开打印窗口。如果我将变量更改为“你好”,它会写你好。所以认为爪哇脚本有问题。但是当我尝试使用另一个按钮时,如下所示$printyk<input type="button" class="btn" onclick="printDiv('printableArea')" value="Print Barcode" />它显示打印数字。有什么我看不见的吗?
查看完整描述

1 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

根据您提供的内容,您的 HTML 中存在错误,在以下代码中:


...

// do something with php

$printyk = '<script type="text/javascript">printDiv("PrintableArea")

...

PrintableArea应该是,printableArea


这里要提到的一件事是,在混合 if 语句和 HTML 以提高可读性时,始终使用替代 if 语法。


这是我在本地计算机上重现的工作PHP代码:


<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">


<head>

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

<title>PRINCE Is Not a Cheat-sheet for Emacs</title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">


<meta name="generator" content="Prince Backend" />

<meta name="date" content="2020-01-25T19:09:08" />

<meta name="description" content="A mind map for the Emacs commands." />

<link rel="stylesheet" type="text/css" href="style.css" />

</head>


<body>

  <div id="printableArea" class="printDiv">

    //some content with created by php

    <div>ASDAD</div>

  </div>

  <form id="ykbarcodepost" method="post">

  <input type="submit" class="btn" value="Print Barcode" name="ykpost" />

</form>

<script type="text/javascript">

  function printDiv(divName)

  {

      var printContents = document.getElementById(`${divName}`).innerHTML;

      var originalContents = document.body.innerHTML;

      document.body.innerHTML = printContents;

      window.print();

      document.body.innerHTML = originalContents;

  }


  <?php if (array_key_exists('ykpost', $_POST)) : ?>

    // do something with php

    printDiv("printableArea");

  <?php endif ?>

</script>

</body>

</html>


查看完整回答
反对 回复 2022-09-25
  • 1 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号