PDA

View Full Version : focus از یک Textbox به Textbox دیگری



ar_monti@
یک شنبه 31 شهریور 1387, 13:24 عصر
با سلام
دوستان من در یک صفحه Asp.net سه تا TextBox دارم که یکسری اعداد میگیرند و میخواهم در هر کدام وقتی تعداد کاراکترهای آن به یک عدد معینی رسید به طور اتوماتیک به Textbox بعدی برود مثل 000 در اولی وقتی طول آن 3 شد خودبخود به دومی برود و در دومی 999999 وقتی طولش 6 شد به سومی و ..
میخواستم ببینم چطور بدون refresh شدن صفحه این اتفاق بیافتد.
ممنون

nazaninam
یک شنبه 31 شهریور 1387, 13:44 عصر
کد html



<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script>
function changeFocus(from, to,number) {


if (document.getElementById(from).value.length == number) {

document.getElementById(to).focus();

}
}
</script>
</head>
<body>
<form id="form1" runat="server">

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>

</form>
</body>
</html>




کد سمت سرور :



protected void Page_Load(object sender, EventArgs e)
{

TextBox1.Attributes.Add("onkeyup", "changeFocus('" + TextBox1.ClientID + "','" + TextBox2.ClientID + "',3);");
TextBox1.Attributes.Add("onkeydown", "changeFocus('" + TextBox1.ClientID + "','" + TextBox2.ClientID + "',3);");


TextBox2.Attributes.Add("onkeyup", "changeFocus('" + TextBox2.ClientID + "','" + TextBox3.ClientID + "',6);");
TextBox2.Attributes.Add("onkeydown", "changeFocus('" + TextBox2.ClientID + "','" + TextBox3.ClientID + "',6);");
}



موفق باشی