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] Modifer dynamiquement un formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut [DOM] Modifer dynamiquement un formulaire
    Bonjour,

    Je veux modifier un formulaire lors d'une clic sur un lien sans chargement d'une nouvelle page. J'ai utilisé la fonction javascript innerHTML pour changer des éléments dynamiquement mais je n'arrive pas obtenir ce que je veux:
    Voici mon formulaire à l'état1 et ce qu'il doit devenir à l'état 2.

    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
    Etat 1:
     
    <html>
      <script type="text/javascript" src="java.js"></script>
      <body>
        <table border = 1>
          <tr>
            <td colspan = 3>Titre</td>
          </tr>
          <tr>
            <td id="col1"><a href="javascript:fJava1();">F</a></td>
            <td>Un</td>
            <td>Deux</td>
          </tr>
        </table>
        <div id="frm"></div>
      </body>
    </html>
     
    Etat 2
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <script type="text/javascript" src="Java.js"></script>
      <body>
        <table border = 1>
          <tr>
            <td colspan = 2>Titre</td>
          </tr>
          <tr>
            <td id="col1"><a href="javascript:fJava2();">R</a></td>
            <td>Deux</td>
          </tr>
        </table>
        <div id="frm"></div>
      </body>
    </html>
    Ma fonction fJava1 est la suivante:
    Elle change le contenu de ma balise id="col1"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("col1").innerHTML = "<a href='javascript:fAjax1();'>R</a>";
    La fonction fJava2 fait de même. Par contre comment dois je proceder pour changer le contenu de la balise <td> du titre (colspan 3 à 2 et vice vers ca) ? .J'ai essaye de mettre ma balise <td colspan = 3>Titre</td>
    entre une balise <div id="titre"> et faire dans mes fonctions le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("titre").innerHTML = "<td colspan = 2>Hello2</td>"; (et 3 pour l'autre fonction)
    ..mais ca ne marche pas apparemment.

    Il faudrait aussi que je supprime une de mes colonnes de ma deuxieme ligne <td>Un</td>.

    J'ai reussi a obtenir ce que je voulais avec ajax et en creant deux formulaires dictincts (1 et 2) mais je ne veux pas passer par la creation de deux formulaires, je souhaite en avoir un seul et changer dynamiquement son contenu sans raffraichissement.
    La premiere méthode n'utilise pas ajax

    Voila j'espere avoir été la plus clair possible. Merci de votre aide

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td colspan="3" id="titre">Titre</td>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("titre").innerHTML = "Hello2";
    Pour ajouter autre chose que du texte "en dur", il faut utiliser le DOM et pas innerHTML ...

    A+

  3. #3
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    ... innerHTML
    à n'utiliser éventuellement que pour mettre du simple texte ...

    lui préférer le DOM !
    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 !

  4. #4
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    .. c'est ce que j'ai contasté, effectivement je n'arrivais qu'à mettre du texte. Je vais faire des recherches sur DOM. Y a t-il des sujets déjà traités ?

  5. #5
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    oui pleins dasn le forums et dans la FAQ
    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 !

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par mcdelay
    Je vais faire des recherches sur DOM. Y a t-il des sujets déjà traités ?
    Y a même mieux ...

    A+

  7. #7
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    Ok, j'ai trouvé des infos sur le net, je vais potasser tout ca !

    Merci !

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

Discussions similaires

  1. Modification dynamique tableau et formulaire
    Par CheepCheep dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/04/2013, 16h02
  2. [Stratégie] Gérération dynamique de formulaire
    Par stoukou dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 27/09/2005, 09h37
  3. Enregistrer une modification dans un formulaire
    Par micheline dans le forum Access
    Réponses: 5
    Dernier message: 26/06/2005, 19h13
  4. [JTree] Modification dynamique du texte à afficher
    Par jIdJo dans le forum Composants
    Réponses: 2
    Dernier message: 17/06/2005, 16h49
  5. imprimer graphique croisé dynamique ou formulaire
    Par bossun dans le forum VBA Access
    Réponses: 4
    Dernier message: 23/06/2004, 11h53

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