Maison  >  Questions et réponses  >  le corps du texte

Code JavaScript qui empêche la soumission du formulaire

<p>Une façon d'arrêter l'envoi d'un formulaire consiste à renvoyer false à partir de votre fonction JavaScript. </p> <p>Lorsque vous cliquez sur le bouton Soumettre, une fonction de validation est appelée. J'ai une condition dans la validation du formulaire. Si cette condition est remplie, j'appelle une fonction appelée <strong>returnToPreviousPage();</strong>. </p> <pre class="brush:php;toolbar:false;">fonction returnToPreviousPage() { window.history.back(); }</pré> <p>J'utilise JavaScript et Dojo Toolkit. </p> <p>Au lieu de revenir à la page précédente, il soumet le formulaire. Comment puis-je abandonner cette soumission et revenir à la page précédente ? </p>
P粉163465905P粉163465905401 Il y a quelques jours469

répondre à tous(2)je répondrai

  • P粉457445858

    P粉4574458582023-08-21 12:43:06

    Utiliser la prévention par défaut

    Boîte à outils Dojo

    dojo.connect(form, "onsubmit", function(evt) {
        evt.preventDefault();
        window.history.back();
    });

    jQuery

    $('#form').submit(function (evt) {
        evt.preventDefault();
        window.history.back();
    });

    JavaScript Vanille

    if (element.addEventListener) {
        element.addEventListener("submit", function(evt) {
            evt.preventDefault();
            window.history.back();
        }, true);
    }
    else {
        element.attachEvent('onsubmit', function(evt){
            evt.preventDefault();
            window.history.back();
        });
    }

    répondre
    0
  • P粉794851975

    P粉7948519752023-08-21 10:22:41

    Vous pouvez utiliser la valeur de retour de la fonction pour empêcher la soumission du formulaire

    <form name="myForm" onsubmit="return validateMyForm();">

    Et la fonction est la suivante :

    <script type="text/javascript">
    function validateMyForm()
    {
      if(check if your conditions are not satisfying)
      { 
        alert("validation failed false");
        returnToPreviousPage();
        return false;
      }
    
      alert("validations passed");
      return true;
    }
    </script>

    Si le code ci-dessus ne fonctionne pas dans Chrome 27.0.1453.116 m, veuillez définir le champ returnValue du paramètre du gestionnaire d'événements sur false.

    Merci Sam d'avoir partagé l'information.

    Éditeur :

    Merci à Vikram pour la solution, si validateMyForm() renvoie false :

    <form onsubmit="event.preventDefault(); validateMyForm();">

    Où validateMyForm() est une fonction qui renvoie false lorsque la validation échoue. Le point clé est d’utiliser l’événement name. Nous ne pouvons pas utiliser e.preventDefault()

    par exemple

    répondre
    0
  • Annulerrépondre