Je travaille sur une application Web ASP.net.
J'ai un formulaire avec un bouton d'envoi. Le code du bouton d'envoi ressemble à <input type='submit' value='submit request' onclick='btnClick();'>
.
Je veux écrire quelque chose comme ce qui suit:
function btnClick() {
if (!validData())
cancelFormSubmission();
}
Comment puis-je faire cela?
javascript
html
forms
html-input
Rivière Vivian
la source
la source
submit
entrées différentes . Je pense que je vais essayer d'utiliser les contrôles côté serveur sur cette page.Réponses:
Vous feriez mieux de faire ...
En cas de
isValidForm()
retourfalse
, votre formulaire n'est pas soumis.Vous devriez aussi probablement déplacer votre gestionnaire d'événements depuis inline.
la source
onsubmit
au travail chaque fois que j'utilise ASP.net parce que asp.net enveloppe TOUT dans sa propre forme ...Changez votre entrée en ceci:
Et retourne false dans ta fonction
la source
Vous devez changer
à
et
à
Cela dit, j'essaierais d'éviter les attributs d'événements intrinsèques en faveur d'un JS discret avec une bibliothèque (telle que YUI ou jQuery) qui a une bonne API de gestion d'événements et qui est liée à l'événement qui compte vraiment (c'est-à-dire l'événement de soumission du formulaire à la place. de l'événement de clic du bouton).
la source
Parfois,
onsubmit
cela ne fonctionnerait pas avec asp.net.Je l'ai résolu de manière très simple.
si nous avons une telle forme
Vous pouvez maintenant attraper cet événement avant la publication du formulaire et l'empêcher de publier et faire tout l'ajax que vous voulez en utilisant cette jquery.
la source
vous devez changer le type de
submit
àbutton
:au lieu de
vous obtenez alors le nom de votre bouton en javascript et associez-y l'action que vous voulez
travaillé pour moi j'espère que cela aide.
la source
Vous devez
return false;
:la source
Pourquoi ne pas changer le bouton d'envoi en bouton normal, et sur l'événement de clic, soumettre votre formulaire s'il réussit vos tests de validation?
par exemple
la source
Vous avez besoin
onSubmit
. NononClick
sinon quelqu'un peut presser la touche Entrée et contournera votre validation. Quant à l'annulation. vous devez renvoyer false. Voici le code:Edit onSubmit appartient à la balise form.
la source
C'est simple, renvoyez simplement false;
Le code ci-dessous va dans le clic du bouton d'envoi en utilisant jquery.
la source
utilisation
onclick='return btnClick();'
et
la source
la source
ev.preventDefault()
ouev.returnValue = false
annuler le comportement par défaut, mais pas empêcher le bouillonnement d'événements, au cas où d'autres contrôles observeraient le même événement sur le même élément. Utilisezreturn false
uniquement lorsque vous souhaitez empêcher l'événement de bouillonner et annuler l'action par défaut. Consultez cet article .la source
Avec JQuery, c'est encore plus simple: fonctionne dans Asp.Net MVC et Asp.Core
la source