提交
当前位置:   article > 正文

Uncaught ReferenceError: getFormData is not defined at HTMLButtonElement.onclick

is not defined at htmlbuttonelement.onclick

场景:

HTML
jQuery


问题描述

使用HTML标签的属性onclick调用JavaScript中方法时报错
Uncaught ReferenceError: getFormData is not defined at HTMLButtonElement.onclick

<button type="button" onclick="getFormData()">提交</button>
  • 1
<script src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
	$(function() {
		function getFormData() {
			var serializeResult = $("#userform").serialize();
			alert(serializeResult);
		}
	});
</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

原因分析:

将getFormData()方法定义在了入口函数中,导致作用域发生改变,onclick无法找到该方法。


解决方案:

方法一:

仅适用于想在入口函数中定义方法,不建议。
使用匿名函数且不使用var关键字声明,默认为windows对象,作用域为全局

$(function() {
	getFormData = function() {
		var serializeResult = $("#userform").serialize();
		alert(serializeResult);
	}
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

方法二:

将方法直接定义在JavaScript中,不在函数中定义函数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/586626
推荐阅读
相关标签
  

闽ICP备14008679号