form表单的默认提交行为 - 沙滩海风
一 如果<form></form>表单中只有一个<input type=”text”/>,则使文本框获取焦点,并单击回车,form会自动提交。
提交路径为action属性拼接到当前路径(action属性默认为空字符串,如果form没有action属性,则提交路径与当前路径相同)。
浏览器表现:Chrome(桌布版、移动版)会出现此问题,Android手机会出现。Safari(桌面版、移动版)不会出现。
解决方法:禁止表单提交。
1 设置成<form onsubmit=”return false;”>
2 增加一个无name属性的隐藏文本框 <input type=”text” style=”display:none;/>
3 监听input的keydown事件。
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Demo</title>
- </head>
- <body>
- <form >
- <input type="text" name="username"/>
- </form>
- </body>
- </html>