客户端按键处理事件、设置焦点功能、__doPostBack ASP.NET
Client side keypress handling event, set focus function, and __doPostBack ASP.NET
我正在尝试执行以下操作:
-
首先,文本框将重点放在页面加载上(这里没有问题)
-
然后,当在该文本框内按下
ENTER
按钮时,它会将焦点切换到第二个文本框。 -
最后,当在第二个文本框中按下
ENTER
时,它会执行回发并在事件后面重新编写代码,就像按经典<asp:button />
基于:
文本框的回车键按键时发生火灾事件
和
JavaScript 将焦点设置为 HTML 表单元素
我设法想出了:
.HTML:
<asp:TextBox ID="txtNNoSerie" runat="server" Width="150px" ClientIDMode="Static" onkeypress="EnterEventFirst(event)" AutoPostBack="false"></asp:TextBox>
<asp:TextBox ID="txtNNoIdentification" runat="server" Width="150px" ClientIDMode="Static" onkeypress="EnterEventSecond(event)" AutoPostBack="false"></asp:TextBox>
<asp:Button id="btnAjouter" CssClass="ms-Button ms-Button--primary" onclick="btnAjouter_click" Text="+" ForeColor="White" runat="server" Width="30px" />
<input type="text" id="txtTest" /> <%-- Just for tests --%>
.JS:
function EnterEventFirst(e) {
if (e.keyCode == 13) {
document.getElementById('txtTest').value = 'got it';
document.getElementById('<%=txtNNoIdentification.ClientID%>').focus();
}
}
function EnterEventSecond(e) {
if (e.keyCode == 13) {
document.getElementById('txtTest').value = 'Again';
__doPostBack('<%=btnAjouter.ClientID%>', "");
}
}
代码隐藏:
protected void btnAjouter_click(object sender, EventArgs e)
{
}
JavaScript 函数被达到,因为我可以在测试文本框中看到"得到了它"和"再次",但只是半秒钟,然后它消失了......__DoPostBack功能不起作用。
看起来当您在文本框中按回车键时,它会自动执行无用的回发和页面重新加载......这就是我被困的地方
使用 ClientID 而不是 UniqueID。
好吧,文本框在按下回车键时自动回发,那好吧。
我在服务器端做了这一切,我讨厌这个,但我别无选择:
txtNNoSerie.Focus();
if (txtNNoSerie.Text != "")
txtNNoIdentification.Focus();
if (txtNNoSerie.Text != "" && txtNNoIdentification.Text != "")
btnAjouter_click(this, new EventArgs());
服务器端代码...如果有人可以向我展示一些有效的客户端代码,我会接受它......
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 借助asp.net验证或java脚本对多个文本进行验证
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- 使用javascript的Asp.net内容占位符
- 获取ASP.NET Ajax Timer状态
- ASP.NET网络摄像头显示
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- asp.net,包括iss上的javascript slow
- 选择不在GridView-ASP.NET中激发
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- Jquery Modal表单登录与AJAX-ASP经典上的IE 9
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 将Javascript日期转换为ASP.NET日期格式
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 在页面之间传递值的经典ASP