假设您在HTML表单中创建向导.一个按钮返回,一个按钮前进.由于当您按Enter键时,后退按钮首先出现在标记中,因此它将使用该按钮提交表单.
例:
<form>
<!-- Put your cursor in this field and press Enter -->
<input type="text" name="field1" />
<!-- This is the button that will submit -->
<input type="submit" name="prev" value="Previous Page" />
<!-- But this is the button that I WANT to submit -->
<input type="submit" name="next" value="Next Page" />
</form>Run Code Online (Sandbox Code Playgroud)
我想做的是,当用户按Enter键时,决定使用哪个按钮来提交表单.这样,当您按Enter键时,向导将移至下一页,而不是之前的页面.你必须用tabindex这个吗?
我在javascript中有一个Enter用TABkey 替换的脚本:
function ReplaceEnterWithTab() { if (event.keyCode == 13) event.keyCode = 9; return false; }
Run Code Online (Sandbox Code Playgroud)
我这样使用它:
txt.Attributes.Add("OnKeyDown", "ReplaceEnterWithTab();");
Run Code Online (Sandbox Code Playgroud)
这段代码工作得很好.现在我想用jQuery开发一个不需要添加OnKeyDownattribute 的脚本.请考虑以下示例页面:
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" CssClass="EntTab"></asp:TextBox>
<br />
<br />
<asp:TextBox ID="TextBox2" runat="server" CssClass="EntTab"></asp:TextBox>
<br />
<br />
<asp:DropDownList ID="DropDownList1" runat="server" CssClass="EntTab">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
我写这段代码:
$(document).ready(function () {
$('.EntTab').on('keydown', function (e) {
if (e.keyCode == 13) e.keyCode = 9;
});
});
Run Code Online (Sandbox Code Playgroud)
问题是当我按下Enter …