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
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 :
<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 :
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
}
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:
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.