Javascript未捕获的ReferenceError

时间:2016-04-04 09:06:23

标签: javascript

我有onClick事件的简单Javascript代码,但我得到了

Uncaught ReferenceError: validate is not defined

HTML:

<head>
    <script src="js/confirmation.js"></script>
</head>
...
<button type="button" name="confirm" onclick="validate()">Validate</button>

JS:

function validate() {
   alert("hi");
}

我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

因为您实际上是在本地范围内定义函数validate。解决方案非常明显。让它成为全球性的。

在全局范围内定义此函数

function validate() {
   alert("hi");
}
console.log(this); //it must be the `window` object

将此函数分配给全局变量window

替换

function validate() {
   alert("hi");
}

window.validate = function() {
   alert("hi");
}

答案 1 :(得分:0)

试试这个会起作用:

使用全局变量window来调用函数validate

/**
*
* Validate the input.
*/
window.validate = function() {
  alert("hi");
}

Jsfiddle: https://jsfiddle.net/uf1d4aab/1/