昨天发现一个线上问题,在form表单中有一个type=text和type=hidden,在输入框回车后,触发了form提交。
关于触发form表单提交的情况总结如下:
- 默认情况下,单个输入框,无论按钮的type=”submit”还是type=”button”类型,回车即提交。
- 当type=”submit”时,无论有几个type=”text”输入框,回车均表示提交。(按钮默认的type为submit)。
- 当type=”button”时,且存在多个输入框,回车不提交。(button)
解决方法:
- 解决单个输入框的回车即提交问题,可以增加一个隐藏的input=”text” display=’none’; 然后type类型为button。
- 在form表单或input中加入:οnkeydοwn=”if(event.keyCode==13){return false;}”
- 在form表单中加入οnsubmit=”return false;”