我正在开发一个HTML应用程序,它打开一个包含摘要报告的新窗口,并提供打印该窗口的选项。这个新窗口是动态生成的,但我在electioncalc.com/WhyIsThisADud.html
上放了一份典型结果问题是在头部中定义的“printThis()”函数在体内无法识别。单击“打印”按钮时,出现“printThis unknown object”或“Object Expected”错误。我输入了一个没有任何内容的虚拟“printThis2()”函数。身体也没有被认出来。我一定在这里犯了一个非常基本的错误,但我肯定找不到它。 HTML代码始终验证正常。我不知道javascript函数是否有效。我上网了,但由于这个问题而无法运行它。
代码部分:
<script type="/text/javascript">
/* <![CDATA[ */
function printThis() {
var a = window.open('','', scrollbars=yes, width=800, height=600);
a.document.open("text/html");
a.document.write(document.getElementById('printableContent').innerHTML);
a.document.close();
a.print();
}
/* ]]> */
</script>
......在头部和身体......
<div id="printDiv">
<input type="button" value=" Print " id="printButton" onClick="Javascript: printThis()">
</div>
我已经做了多年的网站和应用程序,但我从未遇到过这样的事情。任何帮助(甚至是方向)都将不胜感激。
答案 0 :(得分:3)
<script type="/text/javascript">
^
|
由于这个错误的type
属性(删除了前导斜杠),您的浏览器可能无法将您的代码识别为javascript。
答案 1 :(得分:1)
你应该得到的实际错误应该是不言自明的:
未捕获的ReferenceError:是未定义
因为window.open函数需要三个字符串参数,如下所示:
window.open('','', 'scrollbars=yes, width=800, height=600');
目前,您的Javascript正在执行scrollbars=yes
语句,尝试将变量yes
分配给全局scrollbars
变量。由于该变量不存在,因此会出现错误。
答案 2 :(得分:0)
谢谢你们......这两个都是对的。第一个问题是我有一个带有斜杠“/ text / javascript”的flakey脚本类型。这就是为什么功能无法识别的原因。应该抓住那个。
正如所写,函数“window.open”看起来需要5个参数。在切割和粘贴之前,我应该更仔细地检查脚本。使用适当的引号,一切运作良好。
非常感谢。