最近在公司里做项目的时候遇到一个问题,开发出来的网页需要在Android手机中的浏览器中打开,当在表单中的文本框内输入内容时,如果这时点软键盘中的回车会导致表单被提交,而不是正常的点击按钮提交。
经上网查询了相关资料与自己的测试,下面发出解决的代码:
在表单的onSubmit事件中加入以下代码:
Javascript Code
1 var sUserAgent = navigator.userAgent.toLowerCase(); 2 // 判断浏览器是否为Android浏览器 3 var bIsAndroid = sUserAgent.match( / android / i) 4 == " android " ; 5 6 // submit事件的事件源对象,如果是普通的点击按钮提交表单dragObj的值为"buttom",如果是点击软键盘的回车,则值为null 7 var ev = ev || window.event; 8 var target = ev.target || ev.srcElement; 9 var dragObj = target.getAttribute( ' type ' ); 10 11 12 if (bIsAndroid && dragObj == null ){ 13 // 如果是Android浏览器并且用户是点击的软键盘的回车,则不提交表单 14 return false ; 15 }