Petite modification dans le titre et je rajoute que ca fait longtemps que je n'était pas allez sur le forum et bien je dis trop fort le code en couleur!!

Bonjour à tous enfin ceux qui ne sont pas partis en vacances
Je ne savais pas si je devais exposer mon problème sur le forum C# ou javascript
mais cela me semble tout de même plus approprié sur ce forum. Bon cela paraitra
surement facile pour nombre d'entre vous, je ne maitrise pas encore le javascript et le fait de ne pouvoir débuger est très frustrant (je développe sous visual studio)

Voila, j'ai trois textbox de taille égale (40 caratères maximum)
j'aimerais d'une part que lorsque l'utilisateur appuie sur la touche Entrée on accède à la texbox suivante, voici ce que j'ai fait (à partir de méthode récupérées sur google ):
dans la page html (aspx) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<BODY>
	<script language=javascript>
		function trap(event,NomTextBox)
		{ 
			if((event.which && event.which == 13)||(event.keyCode && event.keyCode == 13))
			{ 
				var tmpTextBox,nbTmpTextBox,tmp; 
				tmpTextBox = document.getElementById(NomTextBox).value; 
				nbTmpTextBox = tmpTextBox.charAt(3); 
				if (nbTmpTextBox.length > 0) 
				{ 
					tmp = 'box'+nbTmpTextBox; 
					documentgetElementById(tmp).focus(); 
				} 
			}
		}
		</script>
		<form id="Form1" method="post" runat="server">
			<asp:TextBox id="box1" runat="server" MaxLength="40"></asp:TextBox>
			<asp:TextBox id="box2" runat="server" MaxLength="40"></asp:TextBox>
			<asp:TextBox id="box3" runat="server" MaxLength="40"></asp:TextBox>
		</form>
	</BODY>
Et dans le code-behind (.acsx.cs)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
private void Page_Load(object sender, System.EventArgs e)
		{
 
			this.box1.Attributes.Add("onkeypress","return trap(event,box1.ClientID)");
			this.box2.Attributes.Add("onkeypress","return trap(event,box2.ClientID)");
			this.box3.Attributes.Add("onkeypress","return trap(event,box3.ClientID)");
 
			//page.RegisterClientScriptBlock("setFocus",script);
 
		}
Le résultat à l'heure actuelle est une valeur nulle NomTextBox dans le javascript

et d'autre part j'aimerais que lorsque l'on saisie jusqu'à 40 caractère dans une des textbox on est également redirigé vers la textbox suivante
Voila ce que j'ai récupéré mais je ne sais pas comment m'en servir :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public void setFocus(System.Web.UI.WebControls.TextBox champ)
		{
			//Champ est le WebControl sur lequel on veut mettre le //focus
			string s;
		s = "<script language= \"javascript\">document.getElementById('" + 
			box1.ClientID + "').focus()</script>"; 
			Page.RegisterStartupScript("focus", s);
		}
Voila en espérant que quelqu'un voudra bien m'aidé merci!