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>

 

posted on 2017-06-27 09:54  沙滩海风  阅读(6491)  评论(0)    收藏  举报

导航