J'ai un formulaire avec des entrées qui ont l'attribut requis.Cependant, je ne veux pas que le formulaire soit soumis normalement, mais il utilise ajax.Ainsi, j'ai défini l'action de formulaire sur javascript:void(0). Mais ce faisant, rend le { {X1}} attribut inutile. Cela ne fonctionne pas

Comment puis-je résoudre ce problème?

C'est ma forme

<form action="javascript:void(0)"> <input name="email" required> </form>`
1
Out of the box 2 juin 2020 à 21:29

3 réponses

Meilleure réponse

Utilisez donc le gestionnaire d'envoi sur le formulaire et annulez l'action par défaut.

document.querySelector("#myForm").addEventListener("submit", function (evt) {
  evt.preventDefault();
  // do you ajax submission here
  console.log('submitted')
})
<form id="myForm">
  <label for="email">email:</label> <input id="email" name="email" type="email" required>
  <button>Submit</button>
</form>
3
epascarello 2 juin 2020 à 18:48

Fais-le comme ça peut t'aider

<form name="myForm">
  <input name="email" required>
  <input type="submit" value="submit">
</form>
<script>
  document.myForm.onsubmit = e => {
    e.preventDefault();
  }
</script>
0
Gad 16 août 2020 à 21:09

Si vous faites la soumission vous-même, vous pouvez vérifier la validité du formulaire avec

if (form.checkValidity()) {
  // submit via XHR etc...
} else {
  // the form is not valid
}

Voir ceci et this

0
samanthaj 2 juin 2020 à 18:41