Comment éviter la soumission de formulaire ?
P粉545218185
P粉545218185 2023-08-21 13:38:16
0
2
508
<p>J'ai un formulaire avec un bouton d'envoi quelque part. </p> <p>Cependant, j'aimerais d'une manière ou d'une autre "attraper" l'événement de validation et l'empêcher de se produire. </p> <p>Existe-t-il un moyen de procéder ? </p> <p>Je ne peux pas modifier le bouton Soumettre car il fait partie d'un contrôle personnalisé. </p>
P粉545218185
P粉545218185

répondre à tous(2)
P粉463418483

Vous pouvez utiliser des événements en ligne comme celui-cionsubmit

<form onsubmit="alert('停止提交'); return false;">

ou

<script>
   function toSubmit(){
      alert('我不会提交');
      return false;
   }
</script>

<form onsubmit="return toSubmit();">

Exemple

Maintenant, lors du développement de grands projets, ce n'est probablement pas une bonne idée. Vous devrez peut-être utiliser des écouteurs d'événements.

Veuillez en savoir plus sur les événements en ligne par rapport aux écouteurs d'événements (addEventListener et attachEvent d'IE) ici . Parce que je ne peux pas l'expliquer mieux que Chris Baker.

P粉399585024

Contrairement aux autres réponses, le retour falsen'est que la partie de la réponse. Considérons le cas où une erreur JS se produit avant l'instruction return...

html

<form onsubmit="return mySubmitFunction(event)">
  ...
</form>

script

function mySubmitFunction()
{
  someBug()
  return false;
}

Retour icifalse不会被执行,表单将以任何方式提交。您还应该调用preventDefault ne sera pas exécuté et le formulaire sera soumis de quelque manière que ce soit. Vous devez également appeler preventDefault pour empêcher l'action par défaut de soumission du formulaire Ajax.

function mySubmitFunction(e) {
  e.preventDefault();
  someBug();
  return false;
}

Dans ce cas, le formulaire ne sera pas soumis même s'il y a une erreur !

Vous pouvez également utiliser des blocs try...catch.

function mySubmit(e) { 
  e.preventDefault(); 
  try {
   someBug();
  } catch (e) {
   throw new Error(e.message);
  }
  return false;
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal