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 :

Remplir un tableau sur une autre page


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut Remplir un tableau sur une autre page
    bonjour
    je ne sais pas si c'est la bonne solution mais j'ai une page d'inscription qui ouvre dans une nouvelle fenêtre un QCM et depuis ce qcm selon que les réponses soient bonnes ou mauvaise je souhaite remplir un tableau avec la question, puis soit vrait soit faux
    voici un début de code pour le tableau qui se trouve sur la page "inscription.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
    <div>
    		<table cellspacing="0" cellpadding="0" border="1" bgcolor="white" bordercolor="blue" width="80%" align="center">
    <tr>
    <td width="80%" bgcolor="white">Question1</td>
    <td width="10%" bgcolor="white">Vrai</td>
    <td width="10%" bgcolor="white">Faux</td>
    </tr>
    <tr>
    <td width="80%" bgcolor="white">Question2</td>
    <td width="10%" bgcolor="white">Vrai</td>
    <td width="10%" bgcolor="white">Faux</td>
    <!-- ect.. -->
    </tr>
    </table>
    	</div>

    sur la page "NQCU" qui fonctionne à merveille grace à eleydet, encore merci
    voici le script
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     <script>
            var questionEnCour = 0;
            var tableauDesReponses = [
                    ["reponse1b", "la bonne réponse est 0,10 km"], 
                    ["reponse2b", "la bonne réponse est 100 hm"], 
                    ["reponse3c", "la bonne réponse est 1 hectare"],
    				["reponse4b", "la bonne réponse est 10 000 litres"],
    				["reponse5c", "la bonne réponse est 10 mililitres"],
    				["reponse6b", "la bonne réponse est 10 quintaux"],
    				["reponse7b", "la bonne réponse est 1 000 tonnes"],
    				["reponse8b", "la bonne réponse est 90 degréd"],
    				["reponse9c", "la bonne réponse est 360 degrés"],
    				["reponse10b", "la bonne réponse est 2,415 heures"],
    				["reponse11b", "la bonne réponse est 0,5 min"],
    				["reponse12c", "la bonne réponse est 200 m²"],
    				["reponse13c", "la bonne réponse est 28,28 m m²"],
    				["reponse14b", "la bonne réponse est 400 m²"],
    				["reponse15b", "la bonne réponse est 125,66 m"],
    				["reponse16a", "la bonne réponse est 300 m"],
    				["reponse17a", "la bonne réponse est 12 m³"],
    				["reponse18a", "la bonne réponse est 50 m"],
    				["reponse19b", "la bonne réponse est 24 cm"],
    				["reponse20c", "la bonne réponse est 1/50"],
    				["reponse21a", "la bonne réponse est essentiellement planimétrique"],
    				["reponse22a", "la bonne réponse est essentiellement altimétrique"],
    				["reponse23b", "la bonne réponse est par rapport au niveau moyen de la mer méditéranée"],
    				["reponse24b", "la bonne réponse est la lecture arrière"],
    				["reponse25a", "la bonne réponse est 100.40"],
    				["reponse26c", "la bonne réponse est une pelle hydraulique"],
    				["reponse27a", "la bonne réponse est un bouteur"],
    				["reponse28b", "la bonne réponse est un tombereau"],
    				["reponse29a", "la bonne réponse est un finisseur"],
    				["reponse30c", "la bonne réponse est une niveleuse"],
    				["reponse31b", "la bonne réponse la largeur du godet"],
    				["reponse32a", "la bonne réponse 10 %"],
    				["reponse33c", "la bonne réponse l'amiante ciment"],
    				["reponse34a", "la bonne réponse la chaux vive"],
    				["reponse35b", "la bonne réponse est 130 °C"],
    				["reponse36b", "la bonne réponse est une couche d'accrochage"],
    				["reponse37a", "la bonne réponse est toutes celles qui sont fournies par l'entreprise"],
    				["reponse38c", "la bonne réponse est 100 m"],
    				["reponse39b", "la bonne réponse est 10 m"],
    				["reponse40a", "la bonne réponse est que l'on a respectées les exigences du client"]
     
     
            ];
     
            //affiche la première question
            document.getElementById("question" + questionEnCour).style.display = "block";
     
     
            document.getElementById("imageJeValide").addEventListener("click", function( event ) {
                    verifier();
            }, false);
     
            function verifier() {
                    if (document.getElementById(tableauDesReponses[questionEnCour][0]).checked) {
                            alert("Bonne réponse");
     
     
     
                      }
                      else {
                            alert(tableauDesReponses[questionEnCour][1]);
     
                    }		
                    questionSuivante();
     
            }
     
            function questionSuivante() {
                    //test si dernière question
                    if(questionEnCour === 40){
                            alert("Le QCU est fini !");
                    }
                    else{
                            document.getElementById("question" + questionEnCour).style.display = "none";
                            questionEnCour++; //on passe à la question suivante
                            document.getElementById("question" + questionEnCour).style.display = "block";
                    }
            }
      </script>
    j'avais penser que comme en vb il me suffirait d'entrer une ligne de code dans le if pour écrire dans le tableau que la réponse est vrait et dans le else si faux mais ça me bloque la page et en plus je ne sais pas comment faire pour trouver les bonnes cases du tableau pour écrire dedans.
    existe-t-il une solution pas trop compliquée que je puisse comprendre ?
    merci

  2. #2
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut
    J'ai compris qu'il me fallait une nouvelle fonction pour écrire. Pour que mes adresses de cellules soient plus faciles à trouver, je les ai nommées
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <tr>
    <td><div id="L1"></div></td>
    <td width="90%" bgcolor="white" ></td>
    <td><div id="C1"></div></td>
    <td width="10%" bgcolor="white"></td>
    </tr>
    le problème est que j'ai beau fouiller partout je ne trouve pas la syntaxe qui me permettrait d'écrire par exemple dans la cellule"L1" de mon tableau à partir de l'autre feuille
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <tr>
    window.inscription.document.getElementById("L1").document.write = "question1"; 
    </tr>
    en vba dans excel ça donnerais
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("inscription").cells(1,1).text = question1.text
    je n'arrive pas à traduire
    merci d'avance pour vos réponses

  3. #3
    Invité
    Invité(e)
    Par défaut
    .innerHTML ?

    • Où sont les id "questionXX", "questionYY",... ?
    • Comment cocher Vrai / Faux (normalement, avec des boutons radio) ?
    • "à partir de l'autre feuille" ? c'est-à-dire ?

    Le code JavaScript ne correspond pas au code HTML présenté !


    MONTRE un EXEMPLE concret (questions/réponses)

  4. #4
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut
    j'ai bien des id mais je ne sais pas comment leurs imputer le texte de la question (celui que je veux écrire dans le tableau
    ce code se trouve sur la page NQCU.html
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div class="qcm" id="question39">
    	h2>Question 40/40</h2>
    	<center><h1>La qualité sur un chantier signifie ?</h1><Center/>
     
    		<p><h2><input type="radio" name = question39 id="reponse40a">que l'on a respectées les exigences du client<p/>
    		<p><input type="radio" name = question39 id="reponse40b">que l'on a réalisé un chantier propre et solide<p/>
    		<p><input type="radio" name = question39 id="reponse40c">Que l'on a gagné plus d'argent que prévu m<p/>
    		<p><input type="radio" name = question39 id="reponse40d">Je ne sais pas !<h2/><p/>
     
    	</div>

    sur cette m^me feuille j’essaie de rajouter une ligne de code pour qu'elle écrive le texte de la question dans la première cellule qui se nome L1 et selon la condition écrire Vrai ou Faux dans la deuxième cellule de la m^me ligne qui s'appelle C1
    voici la fonction qui fonctionne très bien mise à part que je n'arrive pas à ajouter une deuxième action pour écrire dans le tableau qui se trouve sur la page NQCU.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     function verifier() {
                    if (document.getElementById(tableauDesReponses[questionEnCour][0]).checked) {
                            alert("Bonne réponse");
    	//ordre pour écrire le texte de la question + ordre pour écrire vrai
                      }
                      else {
                            alert(tableauDesReponses[questionEnCour][1]);
    //ordre pour écrire le texte de la question + ordre pour écrire faux
     
                    }		
                    questionSuivante();
     
            }
    j'espère ne pas m'être trop embrouiller mais j'ai commencer le HTML qu'avant hier et je suis loin d'avoir encore compris les bases les plus simples...

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Salut

    Déjà
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <div class="qcm" id="question39">
     
    	<h2>Question 40/40</h2>
    	<center><h1>La qualité sur un chantier signifie ?</h1></Center>
     
    		<h2>
    		<p><input type="radio" name="question39" id="reponse40a">que l'on a respectées les exigences du client</p>
    		<p><input type="radio" name="question39" id="reponse40b">que l'on a réalisé un chantier propre et solide</p>
    		<p><input type="radio" name="question39" id="reponse40c">Que l'on a gagné plus d'argent que prévu m</p>
    		<p><input type="radio" name="question39" id="reponse40d">Je ne sais pas !</p>
    		</h2>
     
    	</div>
    Là je n'ai corrigé que les balises de fermeture.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut
    bonjour à tous
    décidément je n'arrive pas à voir ce qui est évident mais ça m'a servi de leçon en corrigeant les 40 paragraphes, mais bon je ne sais toujours pas comment écrire dans mon tableau

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    l'accès aux cellules d'une <table> se fait via les collections rows de la table et cells des lignes (row).

    Pour atteindre la 4éme cellule (colonne) de la 3éme ligne il suffit d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // récup. réf. de l'objet <table>
    var oTable = document.querySelector("table"); // si une seule <table> dans le document
    // attention les index commencent à zéro
    var numLig = 2;
    var numCol = 3;
    var oCell = oTable.rows[numLig].cells[numCol];
    Aucunement besoin de mettre des IDs à toutes les cellules, gardons nos IDs pour la suite

    Pour assigner du contenu à cette cellule, deux possibilités :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    oCell.textContent = "Le texte brut";
    oCell.innerHTML   = "Du <b>texte</b> formaté";

  8. #8
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut
    merci maintenant je vois comment sélectionner et écrire dans une cellule mais pas comment le faire depuis une autre page ?

  9. #9
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut
    bon je vais essayé de mettre toutes les infos sur la même page je ferme donc se post pour en ouvrir un autre car je vais avoir besoin d'aide pour fractionner les affichage
    encore merci je saurai maintenant incrémenté le tableau si j'arrive à le mettre sur la même page

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Quand tu sauras expliquer clairement ce que tu as, ce que tu fais, ce que tu dois obtenir, tu auras résolu 90% du problème.


    "...autre page..."

    Si tu veux pouvoir :
    • Faire un traitement des données recues du formulaire
    • Les afficher dans une autre page
    • Éventuellement les enregistrer (bdd, fichier,...)

    ALORS il faut un langage serveur comme PHP !
    (JavaScript est un langage client)




    N.B. PHP peut aussi servir à générer dynamiquement le formulaire QCM à partir de données enregistrées (en BDD, par exemple).

Discussions similaires

  1. [XL-2003] macro incrémentation tableau sur une autre page
    Par poesy dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/04/2010, 10h59
  2. Remplir les champs d'un formulaire situe sur une autre page ouverte
    Par Dazdh dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/07/2009, 17h01
  3. Réponses: 5
    Dernier message: 30/06/2009, 23h21
  4. [debutant]passage d'un tableau sur une autre page
    Par sissi25 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 05/02/2007, 09h43
  5. [Tableaux] récupérer un tableau sur une autre page
    Par samsso2005 dans le forum Langage
    Réponses: 3
    Dernier message: 27/01/2006, 22h58

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