我做的是类似扫描枪效果的文本,当输入14位数字后,如何自动转移焦点并进行判断,求教高手解惑
protected void txtid_TextChanged(object sender, EventArgs e)
{
//判断输入的是否是数字
string info = ((TextBox)sender).Text;
for (int i = 0; i < info.Length; i++)
{
string str = info.Substring(i, 1);
if ((str.CompareTo("0") >= 0 && str.CompareTo("9") <= 0))
{
continue;
}
else
{ ((TextBox)sender).Text = "";
break;
}
}
//如果输入的是14位数字
if (txtid.Text.Length == 14)
{
string stuid;
Session["stuid"] = txtid.Text;
stuid = Session["stuid"].ToString();
pro_0201admissions(stuid); } }
protected void txtid_TextChanged(object sender, EventArgs e)
{
//判断输入的是否是数字
string info = ((TextBox)sender).Text;
for (int i = 0; i < info.Length; i++)
{
string str = info.Substring(i, 1);
if ((str.CompareTo("0") >= 0 && str.CompareTo("9") <= 0))
{
continue;
}
else
{ ((TextBox)sender).Text = "";
break;
}
}
//如果输入的是14位数字
if (txtid.Text.Length == 14)
{
string stuid;
Session["stuid"] = txtid.Text;
stuid = Session["stuid"].ToString();
pro_0201admissions(stuid); } }
onkeydown
onkeypress
下面例子出发判断输入是否数字。
code=HTML]onblur="isNumber()";[[/code]//如一个文本框失去焦点时,判断输入的值只能为数字
function isNumber(){
isNum = /^[0-9]*$/;
alert(isNum.test(Form1.InputBox.value));
}
<input type="text" onkeypress="k(this);" onblur="b(this);" />
<script type="text/javascript">
function k(obj) //按下任意键触发
{
if(obj.value.length >= 14)
{
document.getElementById("下一个控件").focus();//下一个控件获得焦点
}
}
function b(obj) //失去焦点时触发
{
//判断是否是数字,不是的话 obj.focus();//obj又重新获得焦点
}
</script>