4

さて、JSFiddleで問題を再現しました。次のフォームはChromeとIE9で機能しますが、IE7またはIE8では機能しません。jQueryの特定のバージョンを参照しているいくつかのゴロゴロを見つけました。1.4.4を使用しています。フィドルへのリンクは次のとおりです。

http://jsfiddle.net/xtkuV/77/

フォーム

<form action="" id="step1Form" method="post">
<label for="FirstName">FirstName</label>
<input class="text-box single-line" data-val="true" data-val-required="The FirstName field is required." id="FirstName" name="FirstName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span>
<br/>

<label for="LastName">LastName</label>
<input class="text-box single-line" data-val="true" data-val-length="The field LastName must be a string with a maximum length of 60." data-val-length-max="60" data-val-required="The LastName field is required." id="LastName" name="LastName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="LastName" data-valmsg-replace="true"></span>
<br />

<label for="Age">Age</label>
<input class="text-box single-line" data-val="true" data-val-number="The field Age must be a number." data-val-range="The field Age must be between 1 and 130." data-val-range-max="130" data-val-range-min="1" data-val-required="The Age field is required." id="Age" name="Age" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="Age" data-valmsg-replace="true"></span>
    <br/>
    <input type="submit" value="Submit"/>
</form>

Javascript

$(function(){    
    $('#step1Form').live('submit',function(e){
        e.preventDefault();
        console.log('sup');
        //do an ajax request here or something!
    });
});
4

1 に答える 1

2

「最初にやりたいことの1つは、jqueryのバージョンを最新バージョン(現在はバージョン1.9)に更新することです。

これを行うと、クライアント側の検証がInternetExplorer7およびInternetExplorer8で機能しなくなります。

これは、jquery.validateバージョンがjqueryバージョン>1.6と互換性がないためです。解決策は単純です。jquery.validateのバージョンも更新する必要があります。現在のバージョン1.9は、MicrosoftのCDNから入手できます。" *

*上記の情報はこのサイトから取得したものです。

于 2013-04-02T14:34:49.630 に答える