我收到了错误:
的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。
答案 0 :(得分:0)
您需要将methods
公开给其他函数 - 将其放在全局范围内。
因此要么使用全局window
对象,请执行:
window.methods =
例如:
(function ($) {
"use strict";
window.methods = {
validate: function () {...
或首先在(function($){...})
例如:
var methods = {};
(function ($) {
"use strict";
methods = {
validate: function () {...
在第二个var
之前请注意methods
。
然后你可以拨打methods.validate()
另外:确保您使用(function ($) {
关闭})(jQuery)
- 您发布的代码中缺少该内容。
答案 1 :(得分:0)
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>
答案 2 :(得分:0)
我修好了!!
我调用了jQuery(“#aspnetForm”)。valid();
我创建了一个名为valid()
的函数像这样:
$.fn.valid = function (method) {
methods._validateFields(this);
};
现在很好......!