求高手解答关于ASP.NET网页里TAB和回车切换问题~~ 100

这是我添加的代码。用于回车来切换多行的TextBox:$(document).ready(function(){$("input:text:first").focus()... 这是我添加的代码。用于回车来切换多行的TextBox:
$(document).ready(function () {
$("input:text:first").focus(); // TextBox转换成html控件为<input type="text"/>
$("input:text").bind("keydown", function (e) {
if (e.which == 13) { // 获取Enter键值
e.preventDefault(); // 阻止表单按Enter键默认行为,防止按回车键提交表单
var nextIndex = $("input:text").index(this) + 1;
$("input:text")[nextIndex].focus();
}
});
});

但是现在只能到最后一行的Textbox就停住了,回车切换不了下面的提交按钮,必须用TAB建切过去,求解答怎么用回车键继续往下切换到按钮上!
展开
 我来答
youbl
2012-10-10 · TA获得超过2510个赞
知道大有可为答主
回答量:1844
采纳率:62%
帮助的人:1655万
展开全部
因为你的focus都是设置在input:text上,改成这样试试
var nextIndex = $("input:text").index(this) + 1;
if(nextIndex < $("input:text").length){
$("input:text")[nextIndex].focus();
}else{
$("input:button")[0].focus();
}
追问
还是没用,到最后切不到按钮上...
追答
没看到你全部的代码,但是思路是我给你这样的,你研究下吧
小狼痕
2012-12-04 · TA获得超过105个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:175万
展开全部
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript" src="scripts/Jquery.1.7.js"></script>
<script type="text/javascript">
$(function () {
$("input[type=text]:eq(0)").focus();
$("input[type=text]").each(function (i) {
$(this).bind("keydown", function (e) {
if (e.which == 13) {
e.preventDefault();
if ($("input[type=text]").length-1!=i)
$("input[type=text]").eq(i + 1).focus();
else
$("input[type=submit]").focus();
}
});
})
})
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox7" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox9" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
</body>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ericpoon2001
2012-10-10 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:80.4万
展开全部
因为最尾一个不是 input:text 嘛。做个判断,如果当前trigger事件的是最尾一个TextBox,就固定将焦点放到提交的按钮,或干脆直接提交(即最尾一个TextBox不bind这个事件)。如果非要实现先让焦点到最后的Button上。也可以将所有有关的控件,用一个特定的CSS伪类,然后使用
$(".optionXX") 来获取,并梆定事件,最后判断如果按钮上的话,就return true进行提交。

PS:重点就是判断一下现在处于哪个控件上,作出相应的操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一小子攻城狮
2012-10-10 · TA获得超过1515个赞
知道小有建树答主
回答量:695
采纳率:0%
帮助的人:195万
展开全部
var nextIndex = $("input:text").index(this) 这个只能匹配到文本框 可以借助class属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nickzhoufly
2012-10-15 · TA获得超过139个赞
知道答主
回答量:82
采纳率:100%
帮助的人:26.8万
展开全部
首先var inputLength = $("input:text").length
如果当前文本框的index = inputLength - 1 时(减不减1自己判断去,我也不知道index是否从0开始的),说明文本框已经是最后一个,那么就不要执行e.preventDefault()了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式