深层次来说这不是 ASP NET 的问题 而是 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>
在 ASP NET 中 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 = <<TargetButton ID>>因此这对复合控件中比如模板的 Button 可能无效(未测试)
修改 button 呈现方式 UseSubmitBehavior= false
<asp:Button ID= Button runat= server Text= Button onclick= Button _Click UseSubmitBehavior= false />
(csdn 晓风残月)
另外可以通过控制焦点的方式 过滤回车实践 需要记录一笔的是 获取当前页面焦点所在控件的ID
document activeElement
对于Asp Net 我们在TextBox 中输入内容后 按下enter键后 就执行Button 的click方法 那么在page_load事件方法中写
lishixinzhi/Article/program/net/201311/120941. 在需要触发的组件中添加@keyup.enter.native="triggerClick"
<el-input @keyup.enter.native="triggerClick"></el-input>
2.给el-button添加ref
<el-button ref="btn"></el-button>
3.添加方法 triggerClick
triggerClick(){
this.$refs.btn.$emit('click')
this.$refs.select.blur() //解决选择框回车后展示下拉列表问题
}
<button class="login-btn" id="login">按钮</button>$("body").keydown(function () {
if (event.keyCode == "13") {//keyCode=13是回车键
$("#login").click()
}
})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)