在C#文本框中(服务器控件,文本框中有值),在等到焦点时,怎样让光标自动跳到文本末尾
1个回答
展开全部
不好意思,我写了winform的textbox的方法了,如果是web控件,可以用前台javascript来实现, 下面是一个例子,效果是在textbox被触发后设光标到最后位置,你可以根据你的具体情况来用:
<body >
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" Text = "1234567890" runat="server" ></asp:TextBox>
<script language = "javascript" type ="text/javascript">
function moveAtCaret()
{
//将obj中光标向dirc方向移动n个字符
var obj = document.getElementById("<%=TextBox1.ClientID%>");
obj.focus();
var rng=document.selection.createRange();
rng.moveStart("character", obj.value.length);
rng.select();
}
</script>
</div>
</form>
</body>
然后在后台CS文件page_load事件里写:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ TextBox1.Attributes.Add("Onfocus", "moveAtCaret()"); }
}
<body >
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" Text = "1234567890" runat="server" ></asp:TextBox>
<script language = "javascript" type ="text/javascript">
function moveAtCaret()
{
//将obj中光标向dirc方向移动n个字符
var obj = document.getElementById("<%=TextBox1.ClientID%>");
obj.focus();
var rng=document.selection.createRange();
rng.moveStart("character", obj.value.length);
rng.select();
}
</script>
</div>
</form>
</body>
然后在后台CS文件page_load事件里写:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ TextBox1.Attributes.Add("Onfocus", "moveAtCaret()"); }
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询