Partage
  • Partager sur Facebook
  • Partager sur Twitter

soumission du formulaire via js

Sujet résolu
    8 juillet 2019 à 5:26:34

    bonjour

    je souhaite faire alerte un message avant la soumission d'un formulaire, mais j'ai ce code erreur

    [Violation] 'click' handler took 1431ms

    voici le code js

    	document.querySelector('.validation').addEventListener('click',(e)=>{
    		event.preventDefault();
    		alert('Nous sommes heureux que vous validiez');
    		document.forms.submit();
    	})

    j'ai corrigé le code ainsi

    document.querySelector('.form_update').submit();

    mais je ne récupère pas dans $_POST le nom de l'input qui est essentiel pour le traitement qui va avec 



    -
    Edité par born1 8 juillet 2019 à 5:38:08

    • Partager sur Facebook
    • Partager sur Twitter
      8 juillet 2019 à 10:19:59

      Bonjour,

      Effectivement, la méthode submit ne transmet pas la valeur des éléments de saisie permettant la validation (https://developer.mozilla.org/fr/docs/Web/API/HTMLFormElement/submit) Il est préférable de mettre ton code sur l'événement submit du formulaire directement  et donc de laisser l'envoi natif de ton formulaire. 

      Remarque : ton paramètre s'appelle e et non event

      document.querySelector('.form_update').addEventListener('submit',(e)=>{
          alert('Nous sommes heureux que vous validiez');
      })

      -
      Edité par AnneHuard 8 juillet 2019 à 11:38:00

      • Partager sur Facebook
      • Partager sur Twitter
        8 juillet 2019 à 15:08:14

        Merci 

        j'avoue avoir demander de l'aide un peu hâtivement , merci encore

        en revanche toujours dans le même domaine

        je fais un contrôle du formulaire correctement rempli, mais malgré la valeur false, le formulaire est quand même soumis

        <form method=post action=# onsubmit="controlForm()">
        <input type="text" name="titre" class="js-titre">
        <input type="submit" name="modifier" value="modifier">
        function controlForm(){
        if(parametre == false){
        return false;}
        }




        • Partager sur Facebook
        • Partager sur Twitter
          8 juillet 2019 à 17:08:01

          Utilise plutôt addEventListener  pour mettre en place ton écouteur à la place de l'attribut onsubmit. 

          De même, pour arrêter l'action native, utilise la méthode preventDefault de l'objet Event fourni en paramètre des méthodes écouteurs. 

          document.querySelector('form').addEventListener('submit',ffunction (e){
          
              //Traitement pour déterminer la valeur de parametre 
              if (parametre==false) {
                 e.preventDefault();
              }   
          })



          Enfin à quoi correspond  ta variable paramètre, où l'as-tu déclarée et comment est-elle initialisées ? 

          • Partager sur Facebook
          • Partager sur Twitter
            9 juillet 2019 à 14:45:48

            merci paramêtre est document.querySelector

            c'était un exmple comme tu l'as compris

            euh adapté à mon au code, ça marche 

            • Partager sur Facebook
            • Partager sur Twitter

            soumission du formulaire via js

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown