Submit浏览器默认回车触发提交

1.如果表单里有一个type=”submit”的按钮,回车键生效。
2.如果 表单里只有一个type=”text”的input,不管按钮是什么type,回车键生效。
3.如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=button,FX默认为 type=submit。
4.其他表单元素如textarea、select不影 响,radio checkbox不影响触发规则,但本身在FX下会响应回车键,在IE下不响应。
5.type=”image”的input,效果等同于type=”submit”,不知道为什么会设计这样一种type,不推荐使用,应该用 CSS添加背景图合适些。

表现形式不同,IE浏览器下input没有焦点回车同样会触发提交,Edge浏览器input必须获取焦点回车才能触发提交。

解决方法:

1、增加一个隐藏的输入框

<inputitype="text"style=“display:none”/>

增加了一个隐藏的输入框之后,表单的文本框不再是唯一的,回车不会触发提交事件

2、去掉输入框的回车事件

<inputtype="text"οnkeydοwn=“returnClearSubmit(event)”/>

functionClearSubmit(e){

if(e.keyCode==13){

returnfalse;

}

}

但是有的需求又要有回车事件,视情况选择

3、阻止表单默认提交事件

如果onsubmit句柄返回fasle,表单的元素就不会提交。如果该函数返回其他值或什么都没有返回,则表单会被提交。

由于onsubmit句柄可以取消表单的提交,所以它对于进行表单验证是十分理想的;

这样的话,修改form的onsubmit事件可以让敲入回车的时候执行我们想要的操作而不跳转到action所指定的url,如下

<formaction="myurl"onSubmit=“fun1();returnfalse;”>

变种:element官方解决方案:在el-from加上@submit.native.prevent

el-form:inline="true"class=“demo-form-inline”@submit.native.prevent

<el-form-itemlabel="名称:"style=“margin-bottom:0”>

<el-inputplaceholder=“名称”@keyup.enter.native="doFilter(5)"v-model=“likeName”>

<el-form-itemstyle=“margin-bottom:0”>

<el-buttonclass=“btnCheck”@click="doFilter(5)"style=“margin-bottom:0”>查询

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值