Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS] Ne pas envoyer le formulaire

En fonction de son contenu

Sujet résolu
    11 novembre 2008 à 1:40:51

    Bonsoir amis Zéros ! ;)

    J'ai besoin de vos conseils avisés :
    Sur un bouton "Envoyer", j'aimerais mettre une condition : si le texte entré dans le formulaire (ou sélectionné dans une liste déroulante) est "ID", alors le javascript doit bloquer l'envoi du formulaire (et accessoirement ouvrir un message d'erreur, mais ça je sais faire :) ).

    Voilà, ça me semble pas bien compliqué, mais comme je sais pas... :p


    Merci d'avance

    Bjorge
    • Partager sur Facebook
    • Partager sur Twitter
      11 novembre 2008 à 2:08:04

      Pour faire cela, tu dois mettre ta fonction de vérification dans l'attribut "onSubmit" sur ta balise form. Ta fonction doit retourner un booléen (true ou false). En effet, mettre un "return false" dans un onSubmit sur un formulaire bloque son envoi.
      En pratique :
      <form onSubmit="return maFonction();">
      

      Ainsi, si a fonction retourne "true" le formulaire est envoyé, si elle retourne "false" ton formulaire ne sera pas envoyé.
      • Partager sur Facebook
      • Partager sur Twitter
        11 novembre 2008 à 19:27:43

        Donc si je comprends bien, je dois faire un truc comme ça :
        function (maFonction)
        {
        if(document.getElementById('formulaire1')='ID')
        {
        return false;
        alert('Vous n\'avez pas entré d\'ID');
        }
        else
        {
        return true;
        }
        }
        
        • Partager sur Facebook
        • Partager sur Twitter
          11 novembre 2008 à 19:58:57

          Ouch...
          Si tu veux t'amuser à programmer, je te conseille d'apprendre cela correctement pas à pas, et non de commencer tout de suite à vouloir mettre en application des choses sans connaitre les règles de syntaxe de base :-°
          • Une fonction se déclare ainsi : function maFonction(){ }
          • Une comparaison entre deux variables se fait avec un double =
          • Un return dans une fonction termine son exécution

          Donc, sans les fautes :
          function maFonction(){
          	if(document.getElementById('formulaire1') == 'ID'){
          		alert('Vous n\'avez pas entré d\'ID');
          		return false;
          	}
          	else{
          		return true;
          	}
          }
          
          • Partager sur Facebook
          • Partager sur Twitter
            11 novembre 2008 à 20:50:43

            Pourquoi n'utilise tu pas tout simplement le PHP ? :o

            Bin oui, les conditions sont faitent pour sa non ? :D

            Pas besoin de javascript pour annuler un envoie, en PHP tu dira, SI LE TEXTE EST DIFFERENT DE ID ALORS ON L'ENVOI.... ou tu peut aussi faire le contraire ;)

            SI LE TEXTE EST EGAL A ID ALORS ON L'ENVOI PAS.....

            Cordialement.

            Dekaron
            • Partager sur Facebook
            • Partager sur Twitter
              11 novembre 2008 à 22:27:54

              Le PHP a l'intérêt de faire quelque chose d'un peu plus dynamique, sans rechargement de page, et ça prend surtout tout son intérêt lorsque l'on fait du DHTML (CSS modifiés via JS), ça permet de faire des choses du genre : http://dev.twiip.ch/scripts/verifform/
              C'est tout de même plus esthétique pour le visiteur. Mais bien évidemment, cela ne dispense pas de faire un contrôle également en PHP par après, pour les gens ayant désactivé JS.
              • Partager sur Facebook
              • Partager sur Twitter
                12 novembre 2008 à 1:14:36

                Vous avez raison, je vais utiliser le php, que je maîtrise mieux que le js...
                Merci !
                • Partager sur Facebook
                • Partager sur Twitter

                [JS] Ne pas envoyer le formulaire

                × 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