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 :

Probleme avec div + css background-color


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut Probleme avec div + css background-color
    Salut, jai ce code qui permet de désactiver tout les champs de mon formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function etat_correction() {
     
            document.getElementById('_ajouter_article').style.visibility = 'visible';
            var allElts=document.forms[0].elements;
            for (i=0;i<allElts.length;i++) {
                  if ((allElts[i].id == "_correction_do") || (allElts[i].id == "_correction_search") || (allElts[i].id == "_Quitter")) {
                          allElts[i].disabled=false;
                  } else {
                          allElts[i].disabled=true;
                  }
            }
     
    }
    Cependant, jai ce code qui n'est pas disabled
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="" id="_link_ajouter_article" tabindex=9 onclick="document.getElementById('_action').value='item';form_submit();return false;"><img src="/images/default/receive.gif" id="_ajouter_article" border="0" alt="Ajouter article"></a>
    Donc, j'ai penser mettre en plus un div transparent pour empecher de clicqué sur des hyperliens.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="_voile" style="width:100%;height:100%;background-color:transparent; z-index:1;position:absolute;top:100px;"></div>
    Cependant, si je met background-color:transparent on peu cliquer pareil sur les hyperliens mais si je met background-color:#00FF54 j'ai un div coloré qui empeche le cliquage sur les hyperlien.

    QQn peux m'aidé et me dire comment mettre mon div transparent pour quil empeche le click sur les hyperliens

    merci

  2. #2
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Quand tu désactives tes champs, pourquoi ne pas définir à vide l'attribut onclick de ton lien et eventuellement mettre un style ne réagissant pas au survol? Ainsi ton lien n'aurau aucun comportement.
    Ou faire disparaître le lien tout simplement mais apparemment ce n'est pas ce que tu recherches.

  3. #3
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    je viens de rajouter ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('_link_ajouter_article').style.visibility = 'hidden';
    et mon lien est bien disparue, je crois que je fait utiliser cette méthode mais j'aimerais bien comprendre le probleme du div aussi.

  4. #4
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Je crois avoir souvenir du même constat. Ca doit être pensé comme ça.
    Par contre, ce n'est vraiment pas une bonne idée étant donné que le lien est toujours accessible via le clavier (d'autant qu'on voit bien un tabindex).

    Et je me demande si tu n'auras pas aussi ce même problème avec le visibility:hidden. Enfin je n'ai pas testé donc à toi de me dire. Mais j'aurais plutôt tendance à mettre un style.display:"none".
    Eventuel inconvénient, l'élément disparaissant du flux (et non pas caché comme ta méthode) tu risques d'avoir un problème de mise en page.

  5. #5
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    alors différentes propositions :
    - mettre un blur() sur le onfocus du lien
    - redéfinir son onclick a "return false" quand tu met les champs en disabled
    - essayer inherit au lieu de transparent
    - desactiver la souris et le clavier de ton utilisateur

  6. #6
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    J'ai caché tous mes liens à la place siddh
    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
     
    var tab_link = new Array();
            tab_link[0] = "_ajouter_article";
            tab_link[1] = "_link_ajouter_article";
            tab_link[2] = "_annuler_article";
            tab_link[3] = "_link_annuler_article";
            tab_link[4] = "_delete_article";
            tab_link[5] = "_link_delete_article";
            tab_link[6] = "_edit_article";
            tab_link[7] = "_link_edit_article";
            tab_link[8] = "_loupe";
            tab_link[9] = "_link_nouveau_fournisseur";
            tab_link[10] = "_link_nouvel_article";
     
            //Cache tous les links car on ne peux pas les disable
            for (i = 0; i < tab_link.length; i++) { document.getElementById(tab_link[i]).style.visibility = 'hidden' ; }
    inherit ne change rien

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    encore plus vicieux : sur le mouseover tu deplace la souris

  8. #8
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    Citation Envoyé par siddh
    encore plus vicieux : sur le mouseover tu deplace la souris
    OMG

  9. #9
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script type='text/javascript'>
    window.onload = function(){
    	liens = document.getElementsByTagName("a");
    	for(var i=0;i<liens.length;i++)
    		liens[i].onclick = function(){
    				return false;
    			}
    }
    </script>
    <a href="http://<a href="http://www.developpez.com">aaaaa</a>" target="_blank">www.developpez.com">aaaaa</a></a>

    ca ca marche par contre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mise en page, probleme avec les CSS, dernier petit problème
    Par rdams dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 20/09/2007, 17h10
  2. Probleme avec un css sur du IIS6+php5
    Par Kruggs dans le forum IIS
    Réponses: 3
    Dernier message: 31/07/2007, 16h05
  3. [JXTitledPanel]Problèmes avec FormLayout et background
    Par Baptiste Wicht dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 04/09/2006, 10h47
  4. Petit probleme avec les css
    Par Seth77 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 12/02/2006, 19h23

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