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

本文详细阐述了浏览器中表单元素与回车键交互的规则,包括type='submit'按钮、type='text'输入框、非input类型的button以及type='image'的输入等情况下回车键的行为差异。针对IE与Edge的不同表现,提出了三种解决方法:增加隐藏输入框、移除输入框回车事件或阻止表单默认提交。此外,还提及了利用onsubmit事件进行表单验证和自定义操作的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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”>查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值