怎样获取用户是否点击Enter键。。

Cosmo 2013-08-23 01:25:04
问题:用户在文本框输入后按回车就触发一个按钮事件。。

我这个web form项目在PC和Windows Mobile 都用兼容。。js在WM中是没有用的。。故大侠不要告诉我用js实现。
我后来又用了OnTextChanged事件。客户说光标离开了就触发也不行,必须是按WM上的Enter才能触发。。

...全文
227 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cosmo 2013-08-27
  • 打赏
  • 举报
回复
引用 13 楼 hellotianma 的回复:
并且,友情提醒一下,asp.net服务器端的事件,其实都是对客户端js的事件的包装!所以,如果对应的js事件都没有,asp.net就只能处理最原始的HTTP的form的submit提交,通过得到是哪个按钮触发的提交从而激发按钮的Click事件,通过文件框值的改变触发Change事件,通过下拉框选项的改变触发OnSelectedChange事件。 所以,如果js做不到,服务器最多就只能处理值的变化! 我检查了IE Mobile的MSDN关于文本框的标准事件只有:OnBlur, OnFocus, OnChange,也就是说IEM不支持按键事件,你的需求在IEM上是无解的!你只能通过OnBlur写脚本在离开焦点时检查回车。 多行文本框是否能正确显示的前提是: (1)浏览器是否支持多行文本框 (2)asp.net的TextBox控件会针对每种浏览器,生成不同的HTML标签。当前asp.net是否支持了该IEM?IE Mobile和IE是两种完全不同的浏览器! 我检查了http://msdn.microsoft.com/en-us/library/bb415522.aspx,IEM是有textarea的,那么asp.net是否针对该浏览器生成了对应的标签,这个要么查看asp.net的msdn说明,要么直接以测试结果为准(这个最精确了)并且我看到了一点特别的地方,IEM要求是XHTML!你的HTML的doctype是否设置了XHTML?
非常感谢你的热心回答。。
Cosmo 2013-08-26
  • 打赏
  • 举报
回复
引用 10 楼 sxhgga 的回复:
用 onkeypress: <asp:TextBox ID="txtPwd" onkeypress="return EnterWarningKeyDownConfig()" runat="server" TextMode="Password"></asp:TextBox> function EnterWarningKeyDownConfig() { var txtPwd = document.getElementById("txtPwd"); if (event.keyCode == 13) { var pwdValue = txtPwd.value; if (pwdValue == "landpower" || pwdValue == "123456") { window.location.href ="Login.aspx"; } else { alert('密码错误,请重新输入!'); } return false; } }
Windows Mobile 是ie5 envent 都不支持的。。
hellotianma 2013-08-26
  • 打赏
  • 举报
回复
并且,友情提醒一下,asp.net服务器端的事件,其实都是对客户端js的事件的包装!所以,如果对应的js事件都没有,asp.net就只能处理最原始的HTTP的form的submit提交,通过得到是哪个按钮触发的提交从而激发按钮的Click事件,通过文件框值的改变触发Change事件,通过下拉框选项的改变触发OnSelectedChange事件。 所以,如果js做不到,服务器最多就只能处理值的变化! 我检查了IE Mobile的MSDN关于文本框的标准事件只有:OnBlur, OnFocus, OnChange,也就是说IEM不支持按键事件,你的需求在IEM上是无解的!你只能通过OnBlur写脚本在离开焦点时检查回车。 多行文本框是否能正确显示的前提是: (1)浏览器是否支持多行文本框 (2)asp.net的TextBox控件会针对每种浏览器,生成不同的HTML标签。当前asp.net是否支持了该IEM?IE Mobile和IE是两种完全不同的浏览器! 我检查了http://msdn.microsoft.com/en-us/library/bb415522.aspx,IEM是有textarea的,那么asp.net是否针对该浏览器生成了对应的标签,这个要么查看asp.net的msdn说明,要么直接以测试结果为准(这个最精确了)并且我看到了一点特别的地方,IEM要求是XHTML!你的HTML的doctype是否设置了XHTML?
hellotianma 2013-08-26
  • 打赏
  • 举报
回复
PC版IE4的event就十分强大了。onkeypress和onchange其实都是js的事件的。WM如果不支持js,那你的功能是没有可能实现的。赶紧结题吧。至于:TextMode="MultiLine" MaxLength="20",这些最终都是为了生成HTML的textarea,所以,你要检查一下最终生成的HTML是否达标。
爱LOVE大葱 2013-08-23
  • 打赏
  • 举报
回复
用 onkeypress: <asp:TextBox ID="txtPwd" onkeypress="return EnterWarningKeyDownConfig()" runat="server" TextMode="Password"></asp:TextBox> function EnterWarningKeyDownConfig() { var txtPwd = document.getElementById("txtPwd"); if (event.keyCode == 13) { var pwdValue = txtPwd.value; if (pwdValue == "landpower" || pwdValue == "123456") { window.location.href ="Login.aspx"; } else { alert('密码错误,请重新输入!'); } return false; } }
Cosmo 2013-08-23
  • 打赏
  • 举报
回复
我在CSDN发的贴都没尝试过解决问题。,。。谁要帮我解决了我把全部积分给他(1000分)
Cosmo 2013-08-23
  • 打赏
  • 举报
回复
文本框设置为多行文本,TextMode="MultiLine" MaxLength="20"无效果。不能用js。。。。 大侠有什么方式能实现的?。。。。。。。。。。
Cosmo 2013-08-23
  • 打赏
  • 举报
回复
引用 6 楼 xupeihuagudulei 的回复:
现在还有Windows Mobile 系统,你确定还是Windows Phone??
确定是Windows Mobile。。。搞得想死的心都有了,什么东西在里面都不兼容
xupeihuagudulei 2013-08-23
  • 打赏
  • 举报
回复
现在还有Windows Mobile 系统,你确定还是Windows Phone??
Cosmo 2013-08-23
  • 打赏
  • 举报
回复
引用 4 楼 hellotianma 的回复:
web是受限的平台,或许你用flash可以间接实现。
WM更不兼容flash
hellotianma 2013-08-23
  • 打赏
  • 举报
回复
web是受限的平台,或许你用flash可以间接实现。
Cosmo 2013-08-23
  • 打赏
  • 举报
回复
大神在那呢。。帮帮我吧。。。
Cosmo 2013-08-23
  • 打赏
  • 举报
回复
引用 1 楼 hellotianma 的回复:
WM不熟悉。不能用js?那有没有onkeypress类似的事件?如果都没有,就只能是ontextchange了。web form不是win form想为所欲为,那只能让客户找微软理论了:)
首先非常感谢你的回答。。。onkeypress在webform中是没有的。。我现在是用ontextchange事件,但光标离开就触发了。客户接受不了。。
hellotianma 2013-08-23
  • 打赏
  • 举报
回复
WM不熟悉。不能用js?那有没有onkeypress类似的事件?如果都没有,就只能是ontextchange了。web form不是win form想为所欲为,那只能让客户找微软理论了:)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧