如何使用回车将光标移动到下一个文本框而不是提交



屏幕截图我正试图通过按Enter将光标移动到下一个文本框。

这是我的aspx代码:

<strong>
<asp:Label ID="bondtapelbl" runat="server" Text="Bond Tape :" Font-Bold="True" Font-Italic="False" Font-Names="Arial Black" Font-Size="Medium"></asp:Label>
</strong>
<asp:TextBox ID="bondtape" runat="server" BackColor="#CCCCCC" Height="35px" Font-Size="Medium" Width="130px" CssClass="bt" />
&nbsp;<span class="auto-style6">&amp;</span><strong>
<asp:Label ID="productranklbl" runat="server" Text="Product Rank :" Font-Bold="True" Font-Italic="False" Font-Names="Arial Black" Font-Size="Medium"></asp:Label>
<asp:TextBox ID="productrank" runat="server" BackColor="#CCCCCC" Height="35px" Font-Size="Medium" Width="130px" CssClass="pr" />
<asp:Button ID="bontapeButton" Text="Search" runat="server" BackColor="#3399FF" BorderStyle="None" CssClass="btsearch" ForeColor="White" Height="39px" Width="80px" />
</strong></td>

我使用的是javascript。问题是,它不会将光标移动到下一个文本框,而是自动执行搜索按钮。

<script type="text/javascript">
//Bind keyup event to textbox
$('btsearch[type="bondtape"]').keyup(function (event) {
if (e.keyCode == 13) {
$("pr").next().focus();
}
});
</script>

我的javascript是基于我从另一个论坛得到的答案:

$('input[type="textbox"]').keyup(function(e) {
if(e.keyCode == 13) {
$(this).next().focus();
}});

我只学了2/3天javascript,所以我真的不知道我错在哪一部分。如果有人能帮助我,我将不胜感激。提前谢谢。

好吧,我只想分享我得到的答案。这是我从中得到答案的链接(你也可以尝试演示):http://www.latentmotion.com/downloads/enter-to-tab.html
下面是与我的项目一起使用的javascript。我得到的解决方案是,我用下面的javascript替换了我在这个问题上的javascript。我希望这能帮助其他人。

$(document).ready(function(){
$("input").not( $(":button") ).keypress(function (evt) {
if (evt.keyCode == 13) {
iname = $(this).val();
if (iname !== 'Submit'){    
var fields = $(this).parents('form:eq(0),body').find('button,input,textarea,select');
var index = fields.index( this );
if ( index > -1 && ( index + 1 ) < fields.length ) {
fields.eq( index + 1 ).focus();
}
return false;
}
}
});
});

最新更新