Code JavaScript qui empêche la soumission du formulaire
P粉163465905
P粉163465905 2023-08-20 13:58:50
0
2
521
<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粉163465905
P粉163465905

répondre à tous(2)
P粉457445858

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();
    });
}
P粉794851975

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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal