网页中表单按回车就自动提交的问题总结

本文探讨了HTML表单中不同元素如何影响回车键的行为。重点介绍了在不同情况下(如单个输入框、多个输入框及不同类型的按钮存在时)回车键的功能变化,并提供了解决单输入框自动提交问题的方法。

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

当form表单中只有一个输入框时,焦点在此输入框中,按回车键将自动将表单提交。

<form action="http://www.baidu.com">
       <input type="text">
</form>
即使不写action,页面也会自动刷新,有时这并不是我们需要的。

如果再次添加一个input框,会怎样?

<form action="http://www.baidu.com">
       <input type="text"><br>
       <input type="text">
</form>
焦点在输入框中,按回车键没有提交表单。

如果表单中添加一个submit类型的按钮呢,会怎样?

 <form action="http://www.baidu.com">
        <input type="text"><br>
        <input type="text"><br>
        <input type="submit" value="提交">
    </form>

焦点在输入框中,按回车表单竟然自动提交了。

如果表单中增加一个button类型的按钮,会怎样?

<form action="http://www.baidu.com">
        <input type="text"><br>
        <input type="text"><br>
        <input type="button" value="提交">
    </form>
焦点在输入框中,按回车键没有提交表单。

上面表述的现象,其实是浏览器帮我们做了处理,这里总结一下:

1、如果表单中有一个type=“submit”的按钮,不管输入框有几个,回车键生效。

2、如果表单中只有一个type=“text”的input,不管按钮是什么type,回车键生效。

3、如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=button,FX默认为type=submit。

4、其它表单元素如textarea、select、radio、chekbox不影响上述触发规则,但这些元素本身在FX下会响应回车键,在IE下不响应。

在这说一下,怎样解决单输入框按回车自动提交的问题。

1)隐藏一个输入框

<form action="http://www.baidu.com">
        <input type="text"><br>
        <input type="text" style="display: none;">
    </form>
2)添加一个onkeydown事件,禁用回车响应

 <form action="http://www.baidu.com">
        <input type="text" onkeydown="if(event.keyCode==13) return false;"/>
    </form>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值