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 :

Mise en page horizontale


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2018
    Messages : 6
    Par défaut Mise en page horizontale
    Merci pour le code.
    Voir discussion Ajouter des champs dynamiquement.
    Je suis débutant en javascript, comment avoir une mise en page horizontale : champ1 - champ 2 - champ 3 - champ 4 - ajout - suppression J'espère ne pas abuser. Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Bonjour,

    Je ne suis pas certain d'avoir bien compris la question posée. Que pensez-vous du code ci-dessous?

    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
    <!DOCTYPE html>
    <html>
      <head>
        <style>
          .flex { display: flex; }
          .flex > div {
            padding: 1em;
            flex: 1 1 auto;
            width: 25%;
            transition: width 0.7s;
           }
           .flex > div:nth-child(1) { background: #a3a; }
           .flex > div:nth-child(2) { background: #3a3; }
           .flex > div:nth-child(3) { background: #aa3; }
           .flex > div:nth-child(4) { background: #33a; }
           .flex > div:hover { width: 70%; }
        </style>
      </head>
      <body>
        <div class="flex"><div>Un</div><div>Deux</div><div>Trois</div><div>Quatre</div>
      </div>
     </body>
    </html>

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2018
    Messages : 6
    Par défaut formulaire dynamique
    Bonjour, je dois être plus précis : j'ai besoin que l'internaute puisse saisir un planning de rendez-vous.
    Ex :
    DATE DUREE POINTAGE REMARQUE
    01/01/2018 1h Oui Ras Insérer Suppression
    01/02/2018 1h30 Oui Ras Insérer Suppression
    01/04/2018 1h Insérer Suppression
    01/05/2018 2h Ajout Suppression

    SOUMETTRE (pour enregistrer le planning de rendez-vous dans une base mysql)

    Insérer : permet d'insérer une ligne de rendez-vous à la ligne en-dessous
    Ajout : permet d'ajouter une ligne de rendez-vous à la dernière ligne
    Suppression : permet de supprimer une ligne de rendez-vous à condition que le rendez-vous n'est pas eu lieu (pointage != oui)

    Le planning de rendez-vous démarre à 0 ligne, l'internaute ajoute, inséré et supprime des lignes de rendez-vous

  4. #4
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Bonsoir,

    Il vous faut apprendre à manipuler le DOM. Exemple de code :

    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
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <script>
          function suppr(ligne_a_sup) {
            ligne_a_sup.parentNode.removeChild(ligne_a_sup);
          }
          function ajout(ligne_a_ins) {
            balise=document.createElement("TR");
            balise.innerHTML='<td>Autre ligne</td><td onclick="suppr(this.parentNode);">Sup</td><td onclick="ajout(this.parentNode);">Ins</td>';
            ligne_a_ins.parentNode.insertBefore(balise,ligne_a_ins);
          }
        </script>
      </head>
      <body>
        <table border="1">
          <tr><td>Ligne 1</td><td onclick="suppr(this.parentNode);">Sup</td><td onclick="ajout(this.parentNode);">Ins</td></tr>
          <tr><td>Ligne 2</td><td onclick="suppr(this.parentNode);">Sup</td><td onclick="ajout(this.parentNode);">Ins</td></tr>
          <tr><td>Ligne 3</td><td onclick="suppr(this.parentNode);">Sup</td><td onclick="ajout(this.parentNode);">Ins</td></tr>
          <tr><td>Ligne 4</td><td onclick="suppr(this.parentNode);">Sup</td><td onclick="ajout(this.parentNode);">Ins</td></tr>
          <tr><td>Ligne 5</td><td onclick="suppr(this.parentNode);">Sup</td><td onclick="ajout(this.parentNode);">Ins</td></tr>
        </table>
      </body>
    </html>

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2018
    Messages : 6
    Par défaut Formulaire dynamique : gestion de planning
    Bonsoir,
    Effectivement, j'ai beaucoup de mal avec le DOM.
    J'ai avancé à partir de ton code en ajoutant la récupération des données saisies dans des tableaux, j'ai mis le code en pièce jointe : je ne trouve pas comment le mettre dans une fenêtre comme toi.
    Il me reste un problème : dans un planning, il y aura des nouvelles lignes de rendez-vous et des anciennes lignes du planning déjà sauvées dans la table mysql, donc possédant un Id. Lorsque l'internaute supprime une nouvelle ligne qu'il vient de créer, c'est bon. Lorsque l'internaute supprime une ligne déjà existante dans la table, je dois après validation du formulaire supprimer la ligne de rendez-vous dans la table des rendez-vous à partir de son Id. L'idée est d'ajouter un input caché par ligne avec son Id s'il existe, et de le récupérer lors de la suppression de la ligne pour traitement ultérieur. Mais je cale
    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
    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
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <script>
          function suppr(ligne_a_sup) {
                    ligne_a_sup.parentNode.removeChild(ligne_a_sup);
          }
          
                    function ajout(ligne_a_ins) {
            balise=document.createElement("TR");
            balise.innerHTML='<td><input type="text" name="date[]" /></td>';
                    balise.innerHTML+='<td><input type="text" name="heure[]" /></td>';
                    balise.innerHTML+='<td><input type="text" name="duree[]" /></td>';
                    balise.innerHTML+='<td style="text-align: center;"><select name="pointage_stg[]" ><option value="oui">Oui</option><option value="non">Non</option></select></td>';
                    balise.innerHTML+='<td><input type="text" name="remarque_stg[]" /></td>';
                    balise.innerHTML+='<td style="text-align: center;"><select name="pointage_formateur[]" ><option value="oui">Oui</option><option value="non">Non</option></select></td>';
                    balise.innerHTML+='<td><input type="text" name="remarque_formateur[]" /></td>';
                    balise.innerHTML+='<td onclick="suppr(this.parentNode);">Supprimer</td>';
                    balise.innerHTML+='<td onclick="ajout(this.parentNode);">Ins&eacute;rer</td>';
            ligne_a_ins.parentNode.insertBefore(balise,ligne_a_ins);
          }
        </script>
     
      </head>
     
      <?php
      if (isset($_POST["valide"]))
      {
            var_dump($_POST);
      }
      else
      {
            echo '
      
       
      <body>
            <form method="post" action="formulaire_dynamique_forum.php" name="formulaire">
        <table border="1">
                            <tr><td>DATE</td><td>HEURE</td><td>DUR&Eacute;E</td><td>POINTAGE STAGIAIRE</td><td>REMARQUE STAGIAIRE</td><td>POINTAGE FORMATEUR</td><td>REMARQUE FORMATEUR</td></td>
                      <tr><td> <input type="text" name="date[]"/></td><td><input type="text" name="heure[]" /></td><td><input type="text" name="duree[]" /></td>
                      <td style="text-align: center;"><select name="pointage_stg[]" > <option value="oui">Oui</option>
               <option value="non">Non</option></select></td><td><input type="text" name="remarque_stg[]" /></td>
                            <td style="text-align: center;"><select name="pointage_formateur[]" ><option value="non">Non</option><option value="oui">Oui</option></select></td><td><input type="text" name="remarque_formateur[]" /></td>
                            <td onclick="suppr(this.parentNode);">Supprimer</td><td onclick="ajout(this.parentNode);">Ins&eacute;rer</td></tr>
                      <tr><td> <input type="text" name="date[]" /></td><td><input type="text" name="heure[]" /></td><td><input type="text" name="duree[]" /></td>
                      <td style="text-align: center;"><select name="pointage_stg[]" > <option value="oui">Oui</option>
               <option value="non">Non</option></select></td></td><td><input type="text" name="remarque_stg[]" /></td>
                            <td style="text-align: center;"><select name="pointage_formateur[]" ><option value="oui">Oui</option><option value="non">Non</option></select></td><td><input type="text" name="remarque_formateur[]" /></td>
                            <td onclick="suppr(this.parentNode);">Supprimer</td><td onclick="ajout(this.parentNode);">Ins&eacute;rer</td></tr>
                      <tr><td> <input type="text" name="date[]" /></td><td><input type="text" name="heure[]" /></td><td><input type="text" name="duree[]" /></td>
                      <td style="text-align: center;"><select name="pointage_stg[]" > <option value="oui">Oui</option>
               <option value="non">Non</option></select></td><td><input type="text" name="remarque_stg[]" /></td>
                            <td style="text-align: center;"><select name="pointage_formateur[]" ><option value="oui">Oui</option><option value="non">Non</option></select></td><td><input type="text" name="remarque_formateur[]" /></td>
                            <td onclick="suppr(this.parentNode");">Supprimer</td><td onclick="ajout(this.parentNode);">Ins&eacute;rer</td></tr>
                      <tr><td> <input type="text" name="date[]" /></td><td><input type="text" name="heure[]" /></td><td><input type="text" name="duree[]" /></td>
                      <td style="text-align: center;"><select name="pointage_stg[]" > <option value="oui">Oui</option>
               <option value="non">Non</option></select></td><td><input type="text" name="remarque_stg[]" /></td>
                            <td style="text-align: center;"><select name="pointage_formateur[]" ><option value="oui">Oui</option><option value="non">Non</option></select></td><td><input type="text" name="remarque_formateur[]" /></td>
                            <td onclick="suppr(this.parentNode);">Supprimer</td><td onclick="ajout(this.parentNode);">Ins&eacute;rer</td></tr>
                      <tr><td> <input type="text" name="date[]" /></td><td><input type="text" name="heure[]" /></td><td><input type="text" name="duree[]" /></td>
                      <td style="text-align: center;"><select name="pointage_stg[]" > <option value="non">Non</option>
               <option value="oui">Oui</option></select></td><td><input type="text" name="remarque_stg[]" /></td>
                            <td style="text-align: center;"><select name="pointage_formateur[]" ><option value="oui">Oui</option><option value="non">Non</option></select><td><input type="text" name="remarque_formateur[]" /></td>
                            <td onclick="suppr(this.parentNode);">Supprimer</td><td onclick="ajout(this.parentNode);">Ins&eacute;rer</td></tr>
                    </table>
                    <button type="submit" value="envoyer" name="valide"><img src="img9.png" alt="valider" height="25" width="25" /></button>
                    </form>';
            }
             ?>
    </body>
    </html>

  6. #6
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Bonsoir,

    Le projet suivant semble ressembler à ce que tu programmes :
    http://cherbe.free.fr/cyber_agenda.html
    C'est un projet très ancien, il faudra adapter et rafraîchir le code. Il présente l'avantage d'être assez simple à comprendre.

Discussions similaires

  1. [CR.NET] mise en page Verticale et horizontale
    Par HULK dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 11/01/2005, 12h21
  2. [CR.NET][VS.NET] mise en page et sections
    Par guignol dans le forum SDK
    Réponses: 8
    Dernier message: 06/08/2004, 15h07
  3. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/03/2004, 16h31
  4. [CR] Mise en page
    Par akolyto dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 14/10/2003, 12h22
  5. [mise en page] pour bien indenter son code
    Par bihorece dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/08/2003, 16h14

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