【发布时间】:2021-08-05 01:29:15
【问题描述】:
我正在使用 jquery 验证器插件 jqueryvalidation 并且在从另一个 js 文件调用函数时遇到一些问题。
在theme.js 文件中,我有一个调用预加载器的函数:
jQuery(document).ready(function ($) {
function loadAnimation() {
$("#loader").show().animate({
opacity: 1
})
}
});
我在函数中创建它的原因是我可以从不同的操作和按钮提交调用函数。现在我想从验证器中调用该函数,但出现未定义错误,这是位于另一个文件 validator.js
jQuery(document).ready(function ($) {
$( "#createForm" ).validate( {
errorClass: 'text-danger',
rules: {
offers: 'required',
title: 'required',
},
submitHandler: function(form) {
loadAnimation();
form.submit();
},
} );
});
现在表单提交工作,这意味着 submitHandler 工作,但我收到错误 loadAnimation() is not defined。
我确保jquery、theme.js 在validator.js 之前加载,所以我可能在这里遗漏了一些东西,但我不知道是什么以及如何使loadAnimation() 在submitHandler 函数内部工作。
【问题讨论】:
-
loadAnimation是否定义在theme.js文件的根级别?如果它在另一个函数或对象中,它将被限制。 -
哦,对不起,我要纠正那个。
-
听起来像是一个范围界定问题——如果是这样,这可能会解决您的问题:stackoverflow.com/a/29182664/1772933
标签: javascript jquery validation