0

次の行でエラーが発生します。

検証();

次の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>

関数 validate は上記の jQuery で説明されています。

4

3 に答える 3

0

私はそれを修正しました!!

jQuery("#aspnetForm").valid(); を呼び出しました。

valid() という関数を作成しました

このような :

 $.fn.valid = function (method) {
           methods._validateFields(this);
     };

今は大丈夫です....!

于 2012-07-11T11:12:23.793 に答える
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>
于 2012-07-11T09:27:44.350 に答える
0

他の関数に公開する必要がありmethodsます-グローバルスコープに入れます。

したがって、グローバルwindowオブジェクトを使用して次のようにします。

window.methods = 

例えば:

(function ($) { 
        "use strict";    
         window.methods = {
             validate: function () {...

または、最初に外側で定義します(function($){...})

例えば:

var methods = {};
(function ($) { 
        "use strict";    
         methods = {
             validate: function () {...

no varbefore second に注意してくださいmethods

その後、あなたは呼び出すことができますmethods.validate()

また、必ず終了(function ($) {してください})(jQuery)-投稿したコードにはありません。

于 2012-07-11T09:21:13.233 に答える