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

Mise en page CSS Discussion :

[IE] Appliquer un style sur input>readonly


Sujet :

CSS

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut [IE] Appliquer un style sur input>readonly
    Bonjour,
    Est-il possible d'appliquer un style sur toutes les balises input>text d'un formulaire qui ont l'attribut 'readonly' d'activer sans pour autant ajouter le nom de la class dans l'attribut... pour le navigateur IE?
    Car pour Firefox, on peut faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    input[readonly] {
    ...
    }
    mais ça ne fonctionne pas sous IE.

    Cordialement
    Matthieu

  2. #2
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    je pense que ceci devrait aller:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="username" size="40" value="<?php echo $modif['username']; ?>" readonly>
    ensuite, ne voulant passer par un class, ben, tu l'entoures des balises que tu veux pour lui donner le style de ton choix... non?

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 891
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 891
    Points : 16 341
    Points
    16 341
    Par défaut
    Il me semble que ça fonctionne sur IE7, mais pas sur IE6, donc tu n'as pas le choix que de créer une classe spécifique si tu veux aussi que ton style s'affiche sur IE6.

  4. #4
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    mais... ne peut-il pas se passer de class pour le mettre en div, par exemple?

    à ma connaissance, on est pas obligé de définir une class...

    'fin, encore une fois, ça fait qu'un peu plus de trois semaines que je code, hein...

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 891
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 891
    Points : 16 341
    Points
    16 341
    Par défaut
    Le mettre en div ? Explique ta pensée.

    Et pour faire ce qu'il souhaite, si, tu es obligé de définir une classe pour IE6.

  6. #6
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    ben, je m'disais qu'en mettant en un bloc tous ses champs readonly, il les div, et ensuite, il met le reste, ça ne peut pas fonctionner?

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 891
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 891
    Points : 16 341
    Points
    16 341
    Par défaut
    Je ne connais pas le verbe "diver", donc ta pensée reste obscure ...

    Et puis tu ne peux pas regrouper tous les champs en readonly, le formulaire n'aurait plus aucune cohérence.

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    j'apporte une précision :
    si j'ai le code HTML suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" readonly="readonly" name="toto" class="recherche"/>
    <input type="text" name="toto" class="recherche"/>
    le css définit suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    .readonly {
       background-color:red;
    }
    .recherche {
       background-color:blue;
    }
    je voudrais que le 1er champ soit en rouge (il a l'attribut readonly) et le 2ème champ en bleu automatiquement, sans que je n'ai ajouté dans le html la class "readonly".

    Pour FF, si j'écris dans mon style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    input[readonly] {
       background-color:red;
    }
    ça va fonctionner... mais ce code ne fonctionne pas sous IE.
    Pour IE, j'ai trouvé une solution avec javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function setCssOnReadonly() {
    	for (var i = 0; i < document.forms.length; i++) {
    		var elements = document.forms[i].elements;
    		var element = null;
    		for (var j = 0; j < elements.length; j++) {
    			element = elements[j];
    			if (element.getAttribute("readonly")) {
    				$(element).addClassName("readonly");
    			}
    		}
    	}
    }
    mais je voulais savoir si on pouvait faire ça sans JS comme on peut le faire sous FF....

  9. #9
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 891
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 891
    Points : 16 341
    Points
    16 341
    Par défaut
    Comme ça :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" readonly="readonly" name="toto" class="readonly"/>
    <input type="text" name="toto" class="recherche"/>

  10. #10
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Comme ça :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" readonly="readonly" name="toto" class="readonly"/>
    <input type="text" name="toto" class="recherche"/>
    j'ai oublié de préciser que je ne veux pas modifier le HTML ;-)
    je dois pouvoir affecter un style css aux champs qui ont l'attribut "readonly" sans pour autant modifier le HTML... comme on peut le faire avec FF...
    mais visiblement, on ne peut pas le faire sous IE6 ;-(

  11. #11
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 891
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 891
    Points : 16 341
    Points
    16 341
    Par défaut
    Citation Envoyé par mattheox Voir le message
    mais visiblement, on ne peut pas le faire sous IE6 ;-(
    C'est ce que je te dis depuis le début ...

Discussions similaires

  1. Appliquer un Style sur un WinForm
    Par wmenant dans le forum Windows Forms
    Réponses: 4
    Dernier message: 10/03/2011, 10h22
  2. Appliquer un style sur un tableau d'éléments
    Par Arnaud F. dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/07/2009, 10h29
  3. appliquer un style sur un label asp
    Par hokidoki dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/04/2009, 08h49
  4. Réponses: 1
    Dernier message: 17/10/2008, 13h11
  5. [CSS] applique un style sur un liste deroulante sous Firefox
    Par dark_vidor dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/02/2006, 09h56

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