asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

asp.net回车触发button按钮事件


发布日期:2019年08月07日
 
asp.net回车触发button按钮事件

深层次来说这不是 ASPNET 的问题 而是 html form 的 submit 按钮就是如何设计的

当你的光标焦点进入某个表单元素的时候会激活该表单中第一个(流布局顺从左到右从上至下) type=submit 的按钮(假如有)等待响应回车事件并提交该form

你可以测试一下代码

<form action=>

<input type=text />

<input type=submit value=submit />

</form>

<form action=>

<input type=text />

<input type=button value=submit />

</form>

在 ASPNET 中 button 默认呈现为 <input type=submit> 此时不要额外脚本提交form submit 按钮就是设计用来提交form

而在 x 中则呈现为 <input type=button onclick=_doPostBack() /> 此普通 button 不具备 submit 的上述默认行为

禁用此默认行为有法二

设置 form 元素的 defualtButton 为你希望响应回车的真正按钮如下

<form id=form runat=server defaultbutton=Button>

注意 defaultButton = < <TargetButtonID>> 因此这对复合控件中比如模板的 Button 可能无效(未测试)

修改 button 呈现方式 UseSubmitBehavior=false

<asp:Button ID=Button runat=server Text=Button onclick=Button_Click UseSubmitBehavior=false />

(csdn 晓风残月)

另外可以通过控制焦点的方式过滤回车实践需要记录一笔的是获取当前页面焦点所在控件的ID

documentactiveElement

对于AspNet我们在TextBox中输入内容后按下enter键后就执行Button的click方法那么在page_load事件方法中写

TextBoxAttributesAdd(onkeydown if(eventwhich || eventkeyCode){if ((eventwhich == ) || (eventkeyCode == )) {documentgetElementById(+ButtonUniqueID+)click();return false;}} else {return true}; );

上一篇:ASP.NET 2.0防止同一用户同时登陆

下一篇:基于 SSL 的 ASP.NET Web 应用程序测试自动化