Pour taper la touche de tabulation dans une zone de texte, vous pouvez utiliser un script comme ceci (la zone de texte qui accepte les touches de tabulation se nomme txtLongText
) :
[VB.NET]
txtLongText.Attributes.Add("onkeydown", _
"if(event.which || event.keyCode){if ((event.which == 9)" & _
"|| (event.keyCode == 9)) {document.getElementById('" & _
txtLongText.ClientID + "').selection = " & _
document.selection.createRange();" & _
txtLongText.ClientID & ".selection.text = " & _
" String.fromCharCode(9);return false;}} else {return true}; ")
[C#]
txtLongText.Attributes.Add("onkeydown",
"if(event.which || event.keyCode){if ((event.which == 9)" +
"|| (event.keyCode == 9)) {document.getElementById('"+
txtLongText.ClientID + "').selection = document.selection.createRange();" +
txtLongText.ClientID + ".selection.text = String.fromCharCode(9);return false;}} else {return true}; ");
Ou mieux, pour éviter le codage dur, vous pouvez mettre ce code dans une fonction nommée EnableTabType
. La fonction n'a qu'un seul paramètre, qui spécifie ce qui est TextBox
où vous devez permettre la saisie des caractères de tabulation.
[VB.NET]
Public Sub EnableTabType(tb As TextBox)
tb.Attributes.Add("onkeydown", _
"if(event.which || event.keyCode){if((event.which == 9)" & _
"|| (event.keyCode == 9)) {document.getElementById('" & _
tb.ClientID & "').selection=document.selection.createRange();" & _
tb.ClientID & ".selection.text = " & _
" String.fromCharCode(9);return false;}}else{return true};")
End Sub
[C#]
public void EnableTabType(TextBox tb)
{
tb.Attributes.Add("onkeydown",
"if(event.which || event.keyCode){if ((event.which == 9)" +
"|| (event.keyCode == 9)) {document.getElementById('"+
tb.ClientID + "').selection = document.selection.createRange();" +
tb.ClientID + ".selection.text = String.fromCharCode(9);return false;}} else {return true}; ");
}
Source : http://www.beansoftware.com/ASP.NET-Tutorials/Access-Tab-Key.aspx