阻止form表单提交

今天写程序,发现一件很奇怪的事情,一个form表单框,里面只有一个text输入框,将鼠标放入到输入框内,敲击回车,表单就自动提交了,连个按钮都没有,很是费解,后来问了度娘才知道。

浏览器在解析网页的时候,有许多默认的行为,例如如果一个页面上有表单和一个提交按钮,那么打开页面时,焦点会自动落在这个提交按钮上面。同样如果一个表单中只有一个单行文本输入域(text),那么在这个输入域中按Enter键时,浏览器会自动提交该表单,例如:

<form action="http://www.csdn.net/" method="post">
    <input type="text" name="" value=""/>
</form>

但是:如果表单中含有一个单行文本输入域,那么无论含有多少其他类型的表单组件,那么在该输入域中点击Enter时,表单会自动提交,例如:

<form action="http://www.csdn.net/" method="post">
    <input type="text" name="" value=""/>
    <textarea></textarea>
</form>

如果表单中含有两个或多个单行文本输入域,那么无论是否含有其他类型的表单组件,按Enter键时不会自动提交,例如:

<form action="http://www.baidu.com" method="post">
    <input type="text" name="" value=""/>
    <input type="text" name="" value=""/>
</form>

但是你不能因为,不想让表单提交,就在页面上写两个输入框,从而降低用户体验度,和增加代码冗余,不过你要是觉得丑,你可以把那个没用的隐藏掉,个人喜好。

其实一般如果一个页面上只有一个text框,不想让其提交,直接把这个text框的回车事件禁止掉就行了,为什么这样说呢,因为今天,我就是直接把form的回车事件,禁止掉了,然后form里面的textarea多行文本框内无法回车了,非常尴尬,后来直接把text框单独禁止就好了。

既然知道问题所在之处了,禁止一个form表单的方法有很多种,个人喜好吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值