Partage
  • Partager sur Facebook
  • Partager sur Twitter

JavaScript qui ne bloque pas l'envoi au PHP

Sujet résolu
    27 mars 2024 à 22:52:23

    Mon code JavaScript de vérification de mon formulaire s'éxécute mais ne bloque pas l'envoie des données a mon formulaire

    Function vérif(){
    
     Var MDP = document.getElementById('password);
    
     Var confirm = document.getElementById('confirm');
    
     If (MDP.value == confirm.value){
    
        Alert('confirmer votre mot de passe'); 
    
        MDP.focus();
    
        Return false;
    
    }
    
    }



    Ce code vérifie si 2 champs sont différent et si oui leur envoie le message du alerte mais lorsque je l'exécute il me signale et affiche le message mais interpréter le code PHP que j'ai intégrer qui est dans le même fichier que le formulaire et permet juste d'enregistrer les données dans la bd

    J'aimerais avoir votre aide et merci d'avance

    -
    Edité par BeginMurky 29 mars 2024 à 16:46:22

    • Partager sur Facebook
    • Partager sur Twitter
      28 mars 2024 à 0:42:15

      Bonjour, Merci de lire les règles du forum AVANT de créer un sujet.

      Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
      Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

      Pour plus d'informations, nous vous invitons à lire les règles générales du forum

      Merci de colorer votre code à l'aide du bouton Code </>

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton  </> de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: php;">Votre code ici</pre>.

      Merci de modifier votre message d'origine en fonction.

      Manque de Politesse

      Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?

      Déplacement vers un forum plus approprié

      Le sujet est déplacé de la section   Discussions développement vers la section Javascript

      Liens conseillés


      Bonsoir,

      confirm != Confirm

      Comment est appelée la fonction Fonctionvérif()?  Une fonction se déclare avec le mot clé function.

       Pour empêcher la fonction native (d’envoi de formulaire je présume) d'un élément voir du coté de preventDefault

      => https://developer.mozilla.org/fr/docs/Web/API/Event/preventDefault

      • Partager sur Facebook
      • Partager sur Twitter
        29 mars 2024 à 16:43:53

        bonjour ,merci pour votre réponse mais malgré que j'applique cette méthode elle ne corrige pas mon erreur au contraire mon code ne s'exécute plus carrément je sais pas si j'ai fait une erreur de compréhension
        function verifclient(Event) {
            var mdp = document.forms["form1"]["passclient"];
            var conclient = document.forms["form1"]["conclient"];
            if (mdp.value !== conclient.value) {
                alert('confirmer votre mot de passe');
                mdp.focus();
                Event.preventDefault();
                return false;
            }else{
                document.form1.submit;
            }
        }
        document.getElementById('subclient'),addEventListener('click',verifclient());

        s'il vous plait pourriez vous m'aider plus, merci d'avance

        • Partager sur Facebook
        • Partager sur Twitter
          29 mars 2024 à 18:02:59

          Bonjour, pour la ligne 13 il n'y a pas de virgule mais un point pour le chainage des méthodes. 

          Et pas de parenthèse au nom de la fonction car sinon elle serait appelée directement.

          document.getElementById('subclient').addEventListener('click', verifclient );


          >> s'il vous plait pourriez vous m'aider plus

          Quel est le code complet? HTML + JS (pour que l'on puisse tester)

          • Partager sur Facebook
          • Partager sur Twitter
            30 mars 2024 à 11:32:58

            Hello,

            Le eventlistener n'envoie aucun évènement à la function qui en a un en param et le preventdefault devrait se faire sur le click (parce que sinon il va se comporter comme un formulaire normal) du coup, à moins d'en avoir besoin ensuite, il n'est pas nécessaire de le passer en paramètre, je vois plutôt un truc comme ça :

            function verifclient() {    //on ne prend plus de param, sauf besoin
              
                var mdp = document.forms["form1"]["passclient"];
                var conclient = document.forms["form1"]["conclient"];
                if (mdp.value !== conclient.value) {
                    alert('confirmer votre mot de passe');
                    mdp.focus();
                  
                    return false;
                }else{
                  //  document.form1.submit;
                  console.log('ok');
                }
            }
            //document.getElementById('subclient').addEventListener('click',verifclient());
            document.getElementById('subclient').addEventListener('click', (e) => { //on place l'évènement sur le click du submit
                e.preventDefault(); //on bloque le comportement normal
                verifclient();//on appelle la function
            });


            jsfiddle

            -
            Edité par GBNet 30 mars 2024 à 11:38:15

            • Partager sur Facebook
            • Partager sur Twitter
              6 avril 2024 à 22:30:04

              Merci pour vos réponses j'ai trouve solution plutôt en ajoutant a l'entête du formulaire onsubmit = "return verifclient()"
              • Partager sur Facebook
              • Partager sur Twitter

              JavaScript qui ne bloque pas l'envoi au PHP

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown