jQuery, UTF8 et Internet Explorer

JavaScript

Toujours dans la catégorie « pamphlet contre le navigateur de la firme de Redmond » : un petit désagrément que je viens de constater entre jQuery, le plugin Validation et Internet Explorer.
Si l’encodage de la librairie de base (jquery.js) et celui du plugin (jquery.validation.js) sont différents (UTF-8 pour l’un et ISO-8859-1 pour l’autre), des erreurs Javascript apparaissent dans IE.

Ça a l’air triviale, mais pourtant j’ai passé plus de 3 heures à essayer de débuger du Javascrit sous IE (il parait que c’est possible ;-)) qui, n’ayons pas peur des mots, est une véritable bouse dans le domaine du débug JS.

Une fois que tout marche, ce plugin se révèle très pratique, car la syntaxe pour vérifier les entrées d’un formulaire est relativement simple :

// Mode débug :
//$.validator.defaults.debug = true;

$(document).ready(function() {

    $("#comment-form").validate({
        errorContainer: $("#comment-form div.error-form"),
        errorLabelContainer: $("#comment-form div.error-form ul"),
        errorWrapper: 'li',
        metaWrapper: "validate",
        
        rules: {
            c_name: { required: true },
            c_mail: {
                required: true,
                email: true
            },
            c_content: { required: true }
        },      
        messages: {
            c_name: msg_valid_name,
            c_mail: msg_valid_email,
            c_content: msg_valid_content
        }
    });
});

Pour les messages d’alertes, on notera que je passe des variables par soucis de respecter l’internationalisation de DotClear

Faut que je vérifie la licence (GPL / MIT) du truc et si elles le permettent je pense l’utiliser pour mon prochain gros projet professionnel. Comme le dit le slogan de cette librairie :

write less, do more

Commentaires

nicolasbui

De nicolasbui le 4 avril 2007

C'est vrai qu'IE est une vrai daube pour le debug JS. Même en installant leur bidule "Microsoft Script Debugger" ... rien .. niet ..

Mais si tu possède Visual Studio, la tu as un vrai debugger JavaScript aussi performant que celui de FireFox voir peut etre un peu plus performant... mais sans la gratuité et la légèreté ...

Par contre je sais pas si les versions Express de Visual Studio permet de profiter de ce debugger ?

celtic34

un peu d'eau à ton molin ;

avec un collègue d'une autre SSII, nous sommes en train de créer un générateur d'IHM (interface Homme Machine en clair) en XML - javascript - XUL.

pour des raisons techniques et pratques, on utilise les objets DOM. Pour Firefox : pas de problème, respect de la norme W3C oblige. Pour IE, prétendu respecter W3C, impossible de changer ou affecter l'attribut d'un objet comme W3C le décrit.

IE est entrain de se couper de l'ensemble des développeurs Web avec de telle pratiques. A voir le nombre de société qui pense au libre ou migre vers le libre, IE n'est plus viable :

                                   Vive Firefox, Vive W3C
Amaury

Merci pour cet article (même s'il est un peu vieux), je me suis arraché les cheveux à savoir pourquoi il y avait des erreurs javascript là où il ne devrait pas en avoir sur IE6 avec jQuery Validate :)

yves

Comment as tu résolu ton problème d'encodage utf8_decode ?

Les commentaires pour ce poste sont fermés.

Réseaux sociaux