J'ai un bouton asp. C'est côté serveur donc je ne peux le montrer qu'aux utilisateurs connectés, mais je veux qu'il exécute une fonction javascript et il semble que quand c'est runat = "server", il appelle toujours l'événement de publication.
J'ai aussi un bouton régulier ( <input...
>) qui ne fonctionne pas sur le serveur et cela fonctionne très bien ...
Comment puis-je faire en sorte que ce bouton n'exécute que le javascript et non la publication?
.net
asp.net
javascript
ajax
Dkarzon
la source
la source
OnClientClick="return false"
fonctionné.ou
la source
Vous pouvez utiliser l'action de clic jquery et utiliser la fonction preventDefault () pour éviter la publication
la source
Considère ceci.
la source
Les autres ont raison de dire que vous avez besoin de votre rappel pour renvoyer false; Cependant, j'aimerais ajouter que le faire en réglant le onclick est une vieille façon laide de faire les choses. Je recommanderais de lire sur javascript discret . L'utilisation d'une bibliothèque comme jQuery pourrait vous faciliter la vie et le HTML moins couplé à votre javascript (et jQuery est pris en charge par Microsoft maintenant!)
la source
ASP.NET est toujours généré en
asp:Button
tant que fichierinput type=submit
.Si vous voulez un bouton qui ne fait pas de publication, mais que vous avez besoin d'un contrôle pour l'élément côté serveur, créez une entrée HTML simple avec les attributs
type=button
etrunat=server
.Si vous désactivez les actions de clic
OnClientClick=return false
, cela ne fera rien au clic, sauf si vous créez une fonction comme:la source
Vous ne dites pas quelle version du framework .NET vous utilisez.
Si vous utilisez la version 2.0 ou supérieure, vous pouvez utiliser la propriété OnClientClick pour exécuter une fonction Javascript lorsque l'événement onclick du bouton est déclenché.
Tout ce que vous avez à faire pour empêcher une publication sur le serveur est le retour
false
de la fonction JavaScript appelée.la source
de plus pour la réponse acceptée, vous pouvez utiliser UseSubmitBehavior = "false" MSDN
la source
__doPostBack(
à la fin du script de clic client.Dans mon cas, j'ai résolu l'ajout de retour dans le onClientClick:
Code derrière
Surface de conception
la source
OnClick
méthode après cela.vous pouvez utiliser le code:
si besoin de soumettre
la source
Avec validation
Dans cet exemple, j'ai utilisé deux contrôles
ddl
ettxtbox
un bon codagela source
Vous pouvez utiliser JQuery pour cela
que dans JQuery
la source