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 :

problème avec innerHTML sur Mozilla


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut problème avec innerHTML sur Mozilla
    Bonjour,

    Avec Mozilla, je n'arrive pas à transférer le contenu d'une page WEB dans un $POST avec la propriété document.getElementById ("hard_copy").innerHTML:

    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
     
    <head>
    <script type="text/javascript">
    function hard_copy(){
    document.monform.page.value = document.getElementById("hard_copy").innerHTML;
    }
    </script>
    </head>
     
    <?php
    Global $PHP_SELF;
     
    if (isset($_POST["ok"]))  echo $_POST['page'];
     
    else {
    echo '
    <body>
    <form name="monform" method="post" action="'.$PHP_SELF.'">
    <div id="hard_copy">
    .... debut de la page html .....
    <input type="text" value="" name="valeur1" >
    <input type="text" value="" name="valeur2" >
    <input type="text" value="" name="valeur3" >
    ..... fin de la page html ....
    </div>
    <input type="hidden" name="page" id="page" >
    <input type="submit" name="ok" value="ok" onclick="hard_copy()" >
    </form>
    ';
    }
    Les inputs text que j'ai rempli avant le submit sont vides.
    Par contre, il n'y a pas de pb avec IE, je recupère bien les input text avec les valeurs.

    J'ai essayé de modifier la propriété par document.all ...
    Rien a faire, les champs input text sont tjs vide après le submit Mozilla !!!

    Est qq'un peut m'aider à trouver la solution ?
    Merci.
    Dom78

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    juste une idée ... si tu mettais le form dasn le div, là la balise form est à l'extérieur du div ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Spacefrog,
    Merci pour ta réponse, mais c'est pire car le submit ne fonctionne pas
    du tout lorsque je mets le form a l'interieur du <div>.

    Bizzare, je n'est jamais vu un truc pareil .... Même en modifiant la propriété par document.all ou par document.layers : cela ne change rien

    et pourtant ca marche sur IE !!!

    Est qq'un aurait une autre idéee sur ce probleme avec Mozilla ??
    merci
    Dom78

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    mhhh un rapide essai de ton code sous une forme plus adaptée m'a permis de comprendre ton problème :

    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
    <script type="text/javascript">
    function hard_copy(){
    document.monform.page.value = document.getElementById("hard_copy").innerHTML;
     
    }
    </script>
    </head>
     
     
    <body>
    <form name="monform" method="post" action="javascript:alert(document.monform.page.value )">
    <div id="hard_copy">
    .... debut de la page html .....
    <input type="text" value="" name="valeur1" />
    <input type="text" value="" name="valeur2" />
    <input type="text" value="" name="valeur3" />
    ..... fin de la page html ....
    </div>
    <input type="hidden" name="page" id="page" >
    <input type="submit" name="ok" value="ok" onclick="hard_copy()" >
    </form>
     
    </body>
    </html>
    en fait dans le alert sous IE on a bien value="saisie"
    dans firefox on n'a rien ...

    Quel est le but de la manoeuvre ? pourquoi as tu besoin de copier le innerHTML, pourquoi ne pas prendre seulement les valeurs ...

    on peut toujours par le dom créer des inouts avec les valeurs ... mais est ce vraiment utile ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Spacefrog,
    Excuse moi pour ma réponse tardive ....
    C'est pour archiver une copy d'ecran de ma page WEB dans une Base de donnée SQL avec des valeurs input qui viennent d'être "saisie".

  6. #6
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function hard_copy(){
       var All = document.getElementById("hard_copy").getElementsByTagName("input")
       for (var i=0; i<All.length; i++) {
          All[i].setAttribute("value", All[i].value)
          if (typeof (All[i].checked) == "boolean")) {
          All[i].setAttribute("checked", All[i].checked)        
          }
       }
       document.monform.page.value = document.getElementById("hard_copy").innerHTML;
     
    }
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci Fremy,
    Ca marche sur MOZILLA et sur IE ..

  8. #8
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    De rien
    Bonne continuation
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

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

Discussions similaires

  1. problème avec select sur onchange
    Par Kerod dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/12/2005, 14h05
  2. Problèmes avec INTERSECT sur MYSQL
    Par zarbydigital dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/09/2005, 13h18
  3. Problème avec OnDrawColumnCell sur un DBGrid
    Par n1portki dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/09/2005, 04h18
  4. Problème avec InnerHTML
    Par rat dgout dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/04/2005, 10h02
  5. Problème avec RDTSC sur K6-III
    Par le mage tophinus dans le forum x86 32-bits / 64-bits
    Réponses: 17
    Dernier message: 30/09/2003, 09h43

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