IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ ASP.NET/C#

FAQ ASP.NET/C#Consultez toutes les FAQ

Nombre d'auteurs : 39, nombre de questions : 371, dernière mise à jour : 15 juin 2021 

 
OuvrirSommaireProgrammation coté clientJavascriptManipulation du clavier

Nous allons voir comment capturer l'appui sur une touche du clavier coté client et comment y associer du code derrière. Dans cette exemple nous traitons l'appui sur la touche "enter".
Dans la page aspx :

 
Sélectionnez
<head> 
<script type="text/javascript"> 
function trap() 
{ 
	if( (event.which&&event.which == 13) || (event.keyCode && event.keyCode == 13 ) ) 
	{ 
		document.Form1.ToucheReturn.value = 'true'; 
		document.Form1.submit(); 
	} 
} 
</script> 

</head> 
<body MS_POSITIONING="GridLayout" onkeypress="Javascript:trap()"> 
<form id="Form1" method="post" runat="server">
    <input id="ToucheReturn" type="hidden" value="false" name="ToucheReturn" runat="server">

et dans le code-behind :

 
Sélectionnez
private void ToucheReturn_ServerChange(object sender, System.EventArgs e)
{
	//traitement à associé à l'appui de la touche 
	ToucheReturn.Value = "false"; //on remet le hidden à l'état initial
}
Créé le 12 octobre 2003  par David Pedehourcq

Afin d'éviter les retours serveur pour les vérifications, nous sommes souvent tentés de vouloir empêcher la saisie d'un certain type de caractères comme les lettres si l'on attend des chiffres. C'est là que le javascript vient à notre aide en ajoutant des attributs à notre TextBox:

 
Sélectionnez
tonTextBox.Attributes.Add("onKeyPress", "if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;");

Il est évidemment possible d'empêcher la saisie de chiffres ou tout autre caractère par cette méthode.

Créé le 23 mai 2005  par Didier Danse

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Dotnet Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.