[英]Error when Calling Jquery Function from Javascript
我在行中得到错误:
validate();
当我尝试调用以下jQuery函数时
(function ($) {
"use strict";
var methods = {
validate: function () {
if ($(this).is("form"))
return methods._validateFields(this);
else {
// field validation
var form = $(this).closest('form');
var options = form.data('jqv');
var r = methods._validateField($(this), options);
if (options.onSuccess && options.InvalidFields.length == 0)
options.onSuccess();
else if (options.onFailure && options.InvalidFields.length > 0)
options.onFailure();
return r;
}
}
}
使用以下JavaScript,我在验证功能时遇到错误。
<script type="text/javascript">
function dateSelectionChanged(sender, args) {
$(function () {
validate();
});
}
</script>
上面的jQuery中已经描述了validate函数。
您需要将methods
公开给其他函数-将其放在全局范围内。
因此,可以使用全局window
对象并执行以下操作:
window.methods =
例如:
(function ($) {
"use strict";
window.methods = {
validate: function () {...
或首先在(function($){...})
之外定义它
例如:
var methods = {};
(function ($) {
"use strict";
methods = {
validate: function () {...
注意第二种methods
之前没有var
。
然后可以调用methods.validate()
另外:确保关闭(function ($) {
with })(jQuery)
-您发布的代码中缺少该功能。
Try this:
var methods = {
validate: function () {
if ($(this).is("form"))
return methods._validateFields(this);
else {
// field validation
var form = $(this).closest('form');
var options = form.data('jqv');
var r = methods._validateField($(this), options);
if (options.onSuccess && options.InvalidFields.length == 0)
options.onSuccess();
else if (options.onFailure && options.InvalidFields.length > 0)
options.onFailure();
return r;
}
}
<script type="text/javascript">
function dateSelectionChanged(sender, args) {
methods.validate();
}
</script>
我已经解决了!
我叫jQuery(“#aspnetForm”)。valid();
我创建了一个称为valid()的函数
像这样 :
$.fn.valid = function (method) {
methods._validateFields(this);
};
现在很好....!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.