未捕获的ReferenceError:未定义printProducts
Uncaught ReferenceError: printProducts is not defined
当我检查按钮的元素时,我一直收到这个错误。该按钮用于为页面提供打印视图。
HTML代码:
<button class = "hidden-print" onclick = "printProducts()">Print Products</button>
Javascript代码:
function printProducts(){
window.print();
}
附件是我在jsFiddle:中的代码
https://jsfiddle.net/PochMendoza/scj0q0dk/
在JSFiddle中,当您将包装设置为"onLoad"或"onDomready"时,您定义的函数仅在该块内部定义,外部事件处理程序无法访问
最简单的修复方法是更改:
function something(...)
收件人:
window.something = function(...)
---Niet The Dark Absol
对于您的示例,您希望定义按钮的onclick
方法。使用JavaScript真的很容易,我们只需要在HTML中给按钮一个id
,这样我们就可以在JavaScript代码中找到它。
更改此项:
<button class = "hidden-print" onclick = "printProducts()">Print Products</button>
对此:
<button id="myButton" class="hidden-print">Print Products</button>
请注意,我们不再需要onclick="printProducts()"
部分。
现在,我们需要将printProducts
函数设置为在单击按钮时运行。这可以这样做:
document.getElementById('myButton').onclick = printProducts;
开始编辑不过,为了正确运行,需要将此代码放在onload
函数中
这样做:
window.onload = function() {
document.getElementById('myButton').onclick = printProducts;
}
结束编辑
并且printProducts
函数保持不变。
工作JSFiddle
document.getElementById('myButton').onclick = printProducts;
function printProducts(){
window.print();
}
<button id="myButton" class="hidden-print">Print Products</button>
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Jquery未定义函数正在停止其他操作
- AngularJS指令出错-无法读取属性'编译'的未定义
- 这.SOMETHING 总是返回未定义的 - extjs
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Wordpress中带有JQuery Accordion的未定义匿名函数
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件