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 :

Formulaire Dynamique Submit


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Janvier 2008
    Messages : 106
    Par défaut Formulaire Dynamique Submit
    Bonjour à tous,

    Je programme présentement une gestion de questionnaire sur le web. J'ai donc fait cela dynamique (on clique sur un plus ajouter question/réponse). Mon problème est donc le suivant : après le POST je ne reçois pas les input créer dynamiquement. Je ne comprends vraiment pas! Voici quelques bouts de mon code.

    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
     
    <table style='border:1px solid black;' id="question1" cellspacing="0" cellpadding="0">
        <tr id="questionRow1">
            <td width="80px" style="text-align:right"><label for="question">Question :</label></td>
            <td width="80px" style="text-align:right"><input type="text" name="questionInput1" id="questionInput1"><input type="hidden" name="nbQuestion1" id="nbQuestion1" value="1"></td>
            <td width="16px"><img src="../img/add.png" onclick="addChoix(1);"></td>
            <td width="16px"><img src="../img/del.png" onclick="delQuestion(this.parentNode.parentNode.parentNode.parentNode.id);"></td>
        </tr>
        <tr id="answerRow1_1">
            <td width="80px" style="text-align:right">&nbsp;&nbsp;&nbsp;&nbsp;Choix:</td> 
            <td width="80px" style="text-align:right"><input type="text" name="answerInput1-1" id="answerInput1-1"></td>
            <td width="16px">&nbsp;</td>
            <td width="16px"><img src="../img/del.png" onclick="delChoix(this.parentNode.parentNode.id);"></td>
        </tr>
    </table>
    Cette table est dans une balise form qui a comme ID 'theform'.

    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
     
    function addChoix(o) {
        questionAnswer[o] = questionAnswer[o]+1;
        var idd = o+'_'+questionAnswer[o];
        var a = "answerRow"+idd;
        html2 =    "<tr id='answerRow"+idd+"'>";
        html2 += '<td width="80px" style="text-align:right">&nbsp;&nbsp;&nbsp;&nbsp;Choix:</td>';
        html2 += '<td width="80px"><input type="text" name="answerInput'+o+'-'+questionAnswer[o]+'" id="answerInput'+o+'-'+questionAnswer[o]+'"></td>';
        html2 += '<td width="16px">&nbsp;</td>';
        html2 += "<td width='16px'><img src='../img/del.png' onclick='delChoix(this.parentNode.parentNode.id);'></td>";
        html2 += "</tr>";
        $('#question'+o).append(html2);
        $('#theform').append(html2);
        $('#nbQuestion'+o).val(questionAnswer[o]);
    }
    Merci beaucoup de votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    C'est la façon dont tu faits l'ajout d'élément qui pose le problème. Ces éléments ne sont pas ajoutés au DOM de la page. Regarde comment ajouter un élément dynamique dans une page:
    http://javascript.developpez.com/faq/?page=DOM

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Janvier 2008
    Messages : 106
    Par défaut
    Merci andry.aime. Ta solution m'a donné une idée: sur mon onclick je fais un append de mon container général dans le formulaire. De cette manière les objets sont bien créé!

    Merci beaucoup de ton aide!

  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 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
    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 !

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

Discussions similaires

  1. Formulaire dynamique et html pour un submit
    Par totos21 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 10/03/2011, 09h39
  2. pb access formulaire dynamique
    Par jibouze dans le forum IHM
    Réponses: 3
    Dernier message: 12/01/2005, 09h39
  3. [Formulaire] empecher submit
    Par Flobel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/12/2004, 20h18
  4. formulaire dynamique
    Par shirya dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/10/2004, 16h13
  5. [struts]Formulaire dynamique
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 28/05/2004, 16h35

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