2

何が起こっているのかわかりませんが、jquery 検証プラグイン (1.5.5) が機能しておらず、Firefox でほとんどのテストを行ってからどのくらいの期間が経過したかわかりません。

問題は、jquery が検証するフォームの 1 つに移動し、「作成」ボタンを押すと、検証が正常に開始され、IE8 を含むすべてのブラウザーで正しく実行されることです。それがうまくいかないのは、私がこれをするときです。

最初のドロップダウン リストを選択し、何かを選択します。次に、[作成] をクリックすると、最初のドロップダウン ボックスのエラーを除いて、すべての検証エラーが表示されます。

IE 8 を除くすべてのブラウザーでこれを行います。

Web ページのエラーの詳細

ユーザー エージェント: Mozilla/4.0 (互換性あり; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0) タイムスタンプ: 2009 年 11 月 8 日 (日) 03:26:08 UTC

メッセージ: オブジェクトが必要行: 890 文字: 5 コード: 0 URI: http://localhost:3668/Scripts/Plugins-Development/jquery.validate.js

これは890行目にあるものです

return options.length > 0 && ( element.type == "select-multiple" || ($.browser.msie && !(options[0].attributes['value'].specified) ? options[0].text : options[0].value).length > 0);

これは、メソッド ブロック全体と同様です。

methods: {

    // http://docs.jquery.com/Plugins/Validation/Methods/required
    required: function(value, element, param) {
        // check if dependency is met
        if ( !this.depend(param, element) )
            return "dependency-mismatch";
        switch( element.nodeName.toLowerCase() ) {
        case 'select':
            var options = $("option:selected", element);
            return options.length > 0 && ( element.type == "select-multiple" || ($.browser.msie && !(options[0].attributes['value'].specified) ? options[0].text : options[0].value).length > 0);
        case 'input':
            if ( this.checkable(element) )
                return this.getLength(value, element) > 0;
        default:
            return $.trim(value).length > 0;
        }
    },

何が起こっているのかわからない。

4

2 に答える 2

4

検証プラグインにバグがあります。ここで説明されている変更を行います: http://osdir.com/ml/jQuery/2009-08/msg00151.html

于 2009-11-08T23:40:21.307 に答える
1

これは Validation プラグインの既知の問題のようで、修正も利用可能です。 ValidationPlugin の問題ページ

于 2009-11-24T07:55:13.630 に答える