Validation jQuery ne fonctionne pas dans IE7 + IE8

j'essaie d'utiliser le jQuery Validation plugin sur un formulaire sur mon site. La forme fonctionne en FF, Chrome, Opéra et Safari. Il n'a pas encore fonctionné en IE7 ou IE8.

ci-dessous est une version simplifiée de mon code qui semble fonctionner dans tous les navigateurs sauf IE.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">

<title>Form</title>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8/jquery.validate.js"></script>

<script type="text/javascript">
    $(document).ready(function(){
       var validator = $("form").validate ({
       rules: {
                first_name: "required"
              },
       messages: {
                first_name: "Enter your firstname"
                 }
       });
    });
</script>

</head>

<body>

<form method="post">
    <label for="first_name" class="hide">First Name</label> 
    <input type="text" name="first_name" value="" id="first_name" class="required" />
    <button type="submit" id="submit" name="submit">Submit</button>
</form>

</body>

</html>

Edit: nous savons maintenant qu'en utilisant JQuery Le plus récent, j'utilisais jQuery v1.6, was the issue. Je suis redevenu v1.5.2 et changé

var validator = $("form").validate ({

à:

$("form").validate ({

Tout fonctionne dans IE, maintenant. Grâce.

37
demandé sur magzalez 2011-05-10 00:48:48

6 réponses

je pense que vous avez besoin soit de revenir à une version antérieure de jquery (1.5.2) ou d'utiliser la nouvelle version de la validation plugin 1.8.0.1.

43
répondu redsquare 2011-05-09 21:06:26

quand vous créez un nouveau ASP.NET projet MVC 3 Dans Visual studio, votre dossier script contiendra par défaut entre autres:

jquery-1.5.1.min.js 
jquery.validate.min.js (which is version 1.8.0)

une des premières choses que vous pourriez vouloir faire est de mettre à jour la version jquery vers la dernière version, qui est aujourd'hui la version 1.7.1

Après avoir fait cela, votre côté client la validation cessera de fonctionner dans Internet Explorer 7 et Internet Explorer 8.

C'est à cause du jquery.valider version est non compatible avec les versions jquery > 1.6. Les solutions sont simples, vous devez mettre à jour votre version de jquery.valider ainsi.

Vous pouvez trouver la version actuelle 1.9 du CDN de Microsoft ou la dernière version de GitHub ici:

Microsoft Ajax CDN: http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js

Validation De GitHub Jquery: https://github.com/jzaefferer/jquery-validation/downloads

rappelez-vous que vous pouvez toujours trouver la bibliothèque javascript la plus récente dans Microsofts CDN, voir la liste complète des bibliothèques disponibles ici:http://www.asp.net/ajaxlibrary/cdn.ashx

Cette information est de mon blog A propos de ce problème

16
répondu Stian 2012-02-27 05:45:12

pour ce que ça vaut, j'ai dû passer à la dernière version de JQuery (1.8.2 en ce moment) et valider (1.10) pour contourner ce problème.

5
répondu ozz 2012-10-03 13:29:07

j'ai eu des problèmes avec jquery.valider.js in IE7 / IE8. Après le débogage, j'ai remarqué que la ligne suivante causait le problème (ln 436 dans la version 1.7):

return $([]).add(this.currentForm.elements)
            .filter(":input")

remplacez ces deux lignes par quelque chose comme:

return $(':input', this.currentForm)

cela a fait l'affaire pour moi.

4
répondu nullable 2012-01-21 07:22:51

je viens d'avoir ce problème, mais le problème n'était pas que j'avais besoin de la dernière version de jquery--c'était la dernière version de jquery qui est la cause du problème. Jquery 2.x ne supporte pas IE en ce moment, donc assurez-vous d'utiliser 1.8+ mais moins que 2.0.

1
répondu kad81 2013-05-21 02:40:14

J'ai eu le même problème sur Sage CRM en utilisant jQueryUI autocomplete getting error "script3: membre introuvable. jquery-1.8.2.min.js, ligne 2 caractère 32075" seulement dans IE (version 10). Cette erreur a été liée dans le mode page: IE forçait le site dans IE 7 mode standard.

C'est un méchant hack, mais ça marche bien. Mettre cela au début de la page. Ça m'a coûté une heure ce soir à jouer avec ça, j'espère que ça aidera quelqu'un d'autre.

<!DOCTYPE HTML>
<meta http-equiv="x-ua-compatible" content="IE=Edge">
1
répondu MagicalArmchair 2014-06-06 21:31:43