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 :

Enlever l'attribut required après avoir utiliser une fois le bouton


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2021
    Messages : 35
    Points : 52
    Points
    52
    Par défaut Enlever l'attribut required après avoir utiliser une fois le bouton
    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
     <div style=" text-align:center;">
                                                        <button type="button" id="addNewEntryButton" >Ajouter une ligne</button><BR>
     
                                                        Veuillez cliquer au moins une fois sur ce bouton.
     
     
     
                                                        <table style="margin-left:200px" id="ajout">
     
                                                            <thead>
     
                                                                <tr>
                                                                    <th style="border: 1px solid black;">Sous-lieu de la zone</th>
                                                                    <th style="border: 1px solid black;">Anomalies</th>
                                                                    <th style="border: 1px solid black;">Photos</th>
                                                                </tr>
     
                                                            </thead>
     
                                                            <tbody>
                                                                <!-- Contenu dynamique du tableau -->
                                                            </tbody>
     
                                                        </table>
     
     
     
                                                        <script>
                                                            const addNewEntryButton = document.getElementById("addNewEntryButton")
                                                            const tableTbody = document.querySelector("#ajout tbody")
     
                                                            addNewEntryButton.onclick = () => {
                                                                const entryNumber = tableTbody.childElementCount
                                                                const tr = document.createElement("tr")
     
                                                                tr.innerHTML =
                                                                    `<td><textarea  required style="width: 250px; text-align:center; margin:auto;
     height: 20px;" name="lieu[${entryNumber}]"  rows="4" cols="40" placeholder="sous-lieu n°${entryNumber}"></textarea></td>` +
                                                                    `<td><textarea  style="width: 250px; margin:auto;
     height: 20px;" name="ano[${entryNumber}]" rows="4" cols="40"placeholder="anomalie n°${entryNumber}"></textarea></td>` +
                                                                    `<td><input     style="width: 250px; margin:auto;
      height: 20px;" name="fichier${entryNumber}[]" type="file" placeholder="oii" multiple><br></textarea></td>`
     
                                                                tableTbody.appendChild(tr)
                                                            }
                                                        </script>

    bonjour j'ai besoin de mettre le bouton en required, mais lorsqu'il a été utilisé une fois, il n'est plus obligatoire, je sais pas vraiment comment faire.
    Merci

  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 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Il y a un post traité il y a peu qui parle d'un sujet assez proche du tien...

    https://www.developpez.net/forums/d2...e-radio-coche/
    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
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2021
    Messages : 35
    Points : 52
    Points
    52
    Par défaut
    Merci mais ce post est aussi le mien mais il n'est pas assez similaire pour que je comprenne comment faire ^^, j'ai déjà essayé qlq trucs et si je demande c'est que je suis vraiment bloqué,
    je dois faire un element.removeAttribute('required') sur un onchange j'imagine mais je n'y arrive pas ^^

  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 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Peux tu préciser ce que tu entends exactement par "mais lorsqu'il a été utilisé une fois" ?
    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
    Membre régulier Avatar de tag9724
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2021
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2021
    Messages : 64
    Points : 113
    Points
    113
    Par défaut
    Mettre l'attribut required sur un bouton ne sert à rien, ça n'empêchera pas d'envoyer le formulaire.

    Ce que tu cherche à faire est d'appeler la fonction qui ajoute une ligne au tableau une première fois sans avoir besoin d'attendre que l'utilisateur aient a cliquer sur le bouton.

    Il faudra mettre la fonction qui est appelée dans addNewEntryButton.onclick = à part puis l'appeler une première fois pour ajouter la première ligne au formulaire et s'en resservir une seconde fois passée comme événement onclick.

    Ca ressemblera donc à ça :

    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
          const addNewEntryButton = document.getElementById("addNewEntryButton")
          const tableTbody = document.querySelector("#ajout tbody")
     
          const addNewEntry = () => {
            const entryNumber = tableTbody.childElementCount
            const tr = document.createElement("tr")
     
            tr.innerHTML =
              `<td><textarea  required style="width: 250px; text-align:center; margin:auto;
    height: 20px;" name="lieu[${entryNumber}]"  rows="4" cols="40" placeholder="sous-lieu n°${entryNumber}"></textarea></td>` +
              `<td><textarea  style="width: 250px; margin:auto;
    height: 20px;" name="ano[${entryNumber}]" rows="4" cols="40"placeholder="anomalie n°${entryNumber}"></textarea></td>` +
              `<td><input     style="width: 250px; margin:auto;
    height: 20px;" name="fichier${entryNumber}[]" type="file" placeholder="oii" multiple><br></textarea></td>`
     
            tableTbody.appendChild(tr)
          }
     
          // On ajoute la première ligne au tableau directement
          addNewEntry()
     
          // On rajoute la possibilité d'ajouter de nouvelles entrées
          // a chaque click de l'utilisateur sur le bouton
          addNewEntryButton.onclick = () => addNewEntry()

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/03/2016, 14h03
  2. Réponses: 1
    Dernier message: 10/09/2007, 19h35
  3. Réponses: 5
    Dernier message: 25/01/2007, 10h53
  4. Réponses: 9
    Dernier message: 05/01/2007, 10h51
  5. Réponses: 1
    Dernier message: 15/06/2006, 18h01

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