在HTMLAnchorElement.onclick中未定义未捕获的ReferenceError

时间:2017-08-21 07:35:43

标签: javascript php jquery html

我在控制台收到错误:

  

未捕获的ReferenceError:未定义检查       在HTMLAnchorElement.onclick

<a onclick="check();">Payment</a>

在JS中,由于这一行我得到错误,这有什么不对吗?

<script type="text/javascript">
  function check() {
  {
    var label<?php echo $k; ?> = "<?php echo $View; ?>";
  }
  }
</script>

3 个答案:

答案 0 :(得分:0)

我刚注意到您有额外的{}一组删除了重复的{},因此您的代码如下所示:

<script type="text/javascript">
function check() {
    var label<?php echo $k; ?> = "<?php echo $View; ?>";
}

如果问题仍然存在,那么在onclick调用之前或之后定义函数是否值得检查,因为有时js可能没有完全加载(不应该是这种情况,但是值得检查)。

希望这有帮助!

答案 1 :(得分:0)

function check() {
  var label<?php echo $k; ?> = "<?php echo $View; ?>";
}

删除Check()函数中的两次使用{}括号。 再次检查

答案 2 :(得分:0)

无论如何,您可以调试并找到解决方案。但是,将事件附加到DOM元素的推荐方法是使用addEventListener

这样你就不用担心在HTML元素之前或之后声明函数了。

&#13;
&#13;
document.querySelector('.foo').addEventListener('click', function(ev){
  /*
  * ev.preventDefault();  
  * as we are doing someething "unusual", preventing 
  * default behaviour might be right option
  */
  this.innerHTML = 'Checked';
});
&#13;
<a class="foo">Foo</a>
&#13;
&#13;
&#13;