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 :

[DOM] pb execution innerHTML sous firefox


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut [DOM] pb execution innerHTML sous firefox
    Bonjour à tous,

    Je suis actuellement en train de coder une page ou par défaut on a un champ texte inactif, si on clique sur le bouton "modifier" cela active le champs texte et en plus cela fais apparaitre "valider" et "annuler" à la place du bouton "modifier".

    Sous Internet explorer cela marche sans problème (IE7, je n'ai que ça sous la main), par contre quand j'essaye de l'executer sous Firefox, quand je clique sur le bouton "modifier" rien ne se passe. Cela fais maintenant une heure que je tourne et cherche l'erreur de syntaxe qu'il doit y avoir mais je ne trouve pas de réponse.

    Si vous voulez bien me donner un coup de main, voici le code de la page en question.

    CSS:
    Code css : 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
    img {
    border: 0px;
    }
     
    a {
    text-decoration: none;
    color: black;
    }
     
    a.info 
    {
    position: relative;
    text-decoration: none;
    color: black;
    }
     
    a.info:hover
    {
    z-index:25; 
    background: none;
    }
     
    a.info span
    {
    position: absolute;
    left: -5000px;
    }
     
    a.info:hover span
    { 
    display: block;
    position: absolute;
    top: 20px;
    left: 20px;
    width: 150px;
    border: 2px solid red;
    background: orange;
    text-align: justify;
    font-family: verdana;
    font-size: 10px;
    font-weight: bold;
    color: white;
    padding: 7px;
    }
     
    .validerModif{
    position: relative;
    display: inline;
    }
     
    a.choixElement span {
    position: absolute;
    left: -5000px;
    }
     
    a.choixElement:active span {
    position: absolute;
    left: 0px;
    }

    HTML:
    Code html : 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
     
    <?xml version="1.0" encoding="iso-8859-1"?>
    	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="general.css" media="all" />
    <script language='Javascript'>
    function afficheBoutons(demande,adminConcerne) {
    if (demande == 1){
    alert("nom"+adminConcerne);
    document.getElementById("nom"+adminConcerne).disabled=false;
    document.getElementById("choixAdmin"+adminConcerne).innerHTML="<span><input type='submit' class='validerModif' name='valider' value='valider'> <input type='button' name='annuler' value='annuler' onClick='afficheBoutons(2,"+adminConcerne+")'>";
     
    }
    if (demande == 2){
    document.getElementById("nom"+adminConcerne).disabled=true;
    document.getElementById("choixAdmin"+adminConcerne).innerHTML="<input type='button' name='modifier' value='modifier' onClick='afficheBoutons(1,1)'>";
     
    }
    }
    </script>
    </head>
    <body>
    <p>Survolez le mot <a class="info" href="#"><span> vous avez ici plus d'informations sur l'aide que nous pouvons vous apporter </span><img src="aide.gif"/> </a></p>
    <p><input type="text" name="nom1" value="user1" disabled /> <span id="choixAdmin1"><input type="button" name="modifier" value="modifier" onClick="afficheBoutons(1,1)"></span></p>
    </body>

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Des inputs en dehors de form, c'est pas une bonne idée (c'est même une erreur HTML).

    Sinon, FFx prefere le DOM au innerHTML. Mais les deux devraient fonctionner.

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    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 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Regarde ce topic, il peut t'aider :

    http://developpez.net/forums/showthread.php?t=253088

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    j'ai essayé de rajouter des balises <form> autour des <input> mais cela ne change rien.

    pour ce qui est de l'utilisation de node, je ne comprends pas bien comme cela marche du coup je n'arrive pas à traduire mon code actuel en innerHTML en une version qui utiliserait les noeuds...

    pour ce qui est du thread mis en lien, vous allez dire que je suis nul, mais je n'y comprend rien et je ne vois même pas le lien avec mon problème...

    excusez ma mauvaise connaissance de javascript ...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Finalement, j'ai repris le fichier en question depuis le début...

    et là cela marche, il s'agit donc sûrement d'une erreur de syntaxe dans le javascript...

    au cas où cela pourrait servir à certains d'entre vous je poste le code qui marche:

    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
    <?xml version="1.0" encoding="iso-8859-1"?>
    	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <SCRIPT language=javascript>
    function go(adminConcerne){
    document.getElementById("nom"+adminConcerne).disabled = false;
    document.getElementById("modif"+adminConcerne).innerHTML = "<input type='button' name='valider' value='valider'></input><input type='button' name='annuler' value='annuler' onClick='annulation("+adminConcerne+")'></input>";
    }
     
    function annulation(adminConcerne){
    document.getElementById("nom"+adminConcerne).disabled = true;
    document.getElementById("modif"+adminConcerne).innerHTML = "<a href='#' onClick='go("+adminConcerne+")'>go</a>";
    }
     
    </SCRIPT>
    </head>
    <body>
     
    <form>
    <input type='text' name='element1' id='nom1' value='youpi' disabled></input>
    <span id="modif1"><a href="#" onClick='go(1)'>go</a></span>
    <br/><br/><input type='text' name='element2' id='nom2' value='youpi2' disabled></input>
    <span id="modif2"><a href="#" onClick='go(2)'>go</a></span>
    </form>
    </body>
     
    </html>

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

Discussions similaires

  1. Mon Javascript ne s'execute pas sous Firefox
    Par Rahim-US dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/09/2010, 11h13
  2. [DOM] DOM XML, ne marche pas sous Firefox
    Par Nass2 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 21/06/2008, 10h28
  3. [DOM] noeud vide sous firefox
    Par le_chomeur dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/11/2007, 13h41
  4. if et else s'execute en meme temps sous firefox
    Par etud_ini dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/10/2007, 08h58
  5. [DOM] popup modification de src sous Firefox
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 24/06/2007, 21h19

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