Chrome错误 asp.net 更新面板发布两次
Chrome bug asp.net updatepanel posts twice
这是我的标记:
<asp:UpdatePanel ID="updPnl" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox runat="server" ID="txtEmail" AutoPostBack="true" OnTextChanged="txtEmail_TextChanged" />
<asp:Panel runat="server" Visible="false" ID="pnl">
<asp:TextBox runat="server" ID="txtUname" AutoPostBack="true" OnTextChanged="txtUname_TextChanged" />
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
这是背后的代码:
这些是隐藏代码中的事件处理程序:
protected void txtEmail_TextChanged(object sender, EventArgs e)
{
pnl.Visible = true;
updPnl.Update();
txtUname.Focus();
}
protected void txtUname_TextChanged(object sender, EventArgs e)
{
}
如果我在文本框上按回车键txtEmail
它可以在所有浏览器中正常工作,并且焦点会转到除 Chrome 以外的txtUName
文本框。在调试时,我发现这种情况正在发生,因为Chrome发出了两次Ajax请求。有没有办法修复这个Chrome错误?
请注意,如果我使用 Tab 而不是输入,它在 Chrome 中也能正常工作。但是,我也需要修复输入的这个Chrome错误。
您可以在表单中输入键触发帖子,您应该阻止在 Enter 上执行提交操作(因此 Enter 键和 Tab 键将具有相同的行为)
例如,你可以用JavaScript(onkeydown)来做到这一点。
但是,我认为这里的更新面板是矫枉过正,为什么不在客户端只使用 JavaScript?
$("#txtEmail").change(function() {
var email = $(this).val();
// now you can do whatever you want with the value.
});
相关文章:
- Meteor Router数据函数被调用两次
- 从MySQL数据库中获取输入数据需要两次页面刷新
- Module.start()已激发两次
- Jquery点击事件必须点击两次
- Append元素在运行两次函数后不显示
- 防止双击执行两次jQuery post请求
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 单击jQuery会激发两次
- 如何避免在树上走两次
- Chrome扩展程序 - 页面更新两次,然后在YouTube上删除
- ng单击需要两次才能更新视图
- Chrome错误 asp.net 更新面板发布两次
- 调用两次时间更新
- Ko.计算函数更新两次
- 在发送更新数据之前,表格需要提交两次
- 如何用d3加载两次相同的更新csv
- angular ui路由器-必须点击两次才能按预期更新视图(带演示)
- 自动完成要求您在更新到 1.11.0 后在 iOS 中单击两次
- 无法调用$stateProvider两次来更新视图(它只在第一次工作)
- React函数只在调用两次时更新状态