IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Compatibilie IE6 - style.background et regexp


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Par défaut Compatibilie IE6 - style.background et regexp
    Bonjour,

    J'utilise une propriete qui passe bien sous firefox, mais aps sur IE6. Voici l'extrait qui pose probleme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    champ.style.background = "url("+extraireServeurPath()+"style/images/tinyApply.png) no-repeat right";
    "champ" est un parametre de la fonction, il vaut le this du input selectionne.

    L'erreur est la suivante :
    Valeur de propriete non valide
    J'imagine qu'il s'agit du style.background.

    Merci pour votre aide.

  2. #2
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Bonsoir,

    Et si tu met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    champ.style.backgroundImage = "url("+extraireServeurPath()+"style/images/tinyApply.png)";
    champ.style.backgroundRepeat = "no-repeat";
    champ.style.backgroundPosition = "right";
    ?

    C'est bête mais avec IE6 je pense qu'il vaut mieux aller petit à petit ...

  3. #3
    Membre très actif
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Par défaut
    C'est pareil, je poste la totalite du script que j'ai ecris, ce sera plus simple pour debugger :

    JAVASCRIPT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
     
    // ------------------------
    // COULEURS DES CHAMPS 
    // ------------------------
     
    var couleurValide = "orange";
    var couleurInvalide = "grey";
     
     
    // ------------------------
    // URL
    // ------------------------
     
     
    var complementURL = "local/";
    //var complementURL = "www/";
     
    function extraireServeurPath() {
     
    	var path = document.location.href;
    	var reg = new RegExp("^(http\:\/\/[A-Za-z0-9\.\-]{1,30}\/)", "g");
    	var server = path.split(reg)[1];
     
    	return server+complementURL
     
    }
     
    // ------------------------
    // EXPRESSIONS RATIONNELLES
    // ------------------------
     
    function definirType(type) {
     
    	switch(type) {
    		case "texte" :
    			var pattern = "^[A-Za-z\ \-]{1,20}$";
    			break;
    		case "numerique" :
    			var pattern = "^[0-9\.]{1,20}$";
    			break;
    		case "alphanumerique" :
    			var pattern = "^[A-Za-z0-9\.\-\_\ \']{1,50}$";
    			break;
    		case "liste" :
    			var pattern = "^[A-Za-z\ \.\,\-\;\_\:]{1,50}$";
    			break;
    		case "date" :
    			var pattern = "^[0-9]{2}/[0-9]{2}/[0-9]{4}$";
    			break;
    		case "telephone" :
    			var pattern = "^[0-9]{10}$";
    			break;
    		case "cp" :
    			var pattern = "^[0-9]{5}$";
    			break;
    		case "email" :
    			var pattern = "^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$";
    			break;
    		default :
    			alert('Type de champ invalide !')
    			break;
    	}
     
    	return pattern
     
    }
     
    // ------------------------
    // FONCTION DE VERIFICATION
    // ------------------------
     
    function verificationChamp(champ,type) {
     
    	var expression = new RegExp(definirType(type))
     
    	if (expression.test(champ.value)) {
    		champ.style.color = couleurValide;
    		//champ.style.background = "url("+extraireServeurPath()+"style/images/tinyApply.png) no-repeat right";
    		champ.style.backgroundImage = "url("+extraireServeurPath()+"style/images/tinyApply.png)";
    		champ.style.backgroundRepeat = "no-repeat";
    		champ.style.backgroundPosition = "right";
     
     
    	}  else {
     		champ.style.color = couleurInvalide;
     		champ.style.backgroundImage = "url("+extraireServeurPath()+"style/images/tinyApply.png)";
    		champ.style.backgroundRepeat = "no-repeat";
    		champ.style.backgroundPosition = "right";
    		//champ.style.background = "url("+extraireServeurPath()+"style/images/tinyCross.png) no-repeat right";
    	}
     
    }
     
     
    // ------------------------
    // VERIFICATION GLOBALE DU FORMULAIRE
    // ------------------------
     
    function verificationGlobale(nomFormulaire,tabChamps) {
     
    	for (var i=0;i<=count(tabChamps);i++) {
    		alert(tabChamps[i])
    	}
     
    }

    HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     <tr>
       <td class='toto'>Nom </td>
       <td><input type='text' value='{$_SESSION['client']->nomClient}' onClick='this.value="";' onBlur='verificationChamp(this,"texte")' name='nomClient' /></td>
     </tr>
    En fait, j'ai l'impression qu'il n'aime pas "style.color" ET les histoire de background. Est ce parce que j'applique une image background a un input ...

  4. #4
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Bonjour,

    Pourrait-tu nous poster ton code html aussi ?
    Aucun problème a signaler entre style.background et IE6 ...

  5. #5
    Membre très actif
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Par défaut
    Bien sur, j'edite le post ci-dessus pour que tout le code soit regroupe.

  6. #6
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Le problème vient de ta variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var couleurInvalide = "grey";
    Il parait que IE6 ne reconnait pas la couleur "grey" il faut donc indiquer son code hexadecimal (#808080 selon ma petite lib). Sa devrait marcher.

Discussions similaires

  1. document.getelementbyid(id).style.background avec couleur en HEXA
    Par Knular dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/01/2015, 17h18
  2. Bug sous chrome style.background
    Par headmax dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 22/05/2012, 22h49
  3. Onmousemove style background
    Par mimagyc dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2008, 16h15
  4. [DOM] Changement du background grâce a l'objet DOM style
    Par Olaf MENJI dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 19/12/2005, 16h31
  5. Réponses: 8
    Dernier message: 09/04/2004, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo