UC浏览器input文本框输入文字回车键自动提交

时间:2021-11-03 20:21:18

这是测试今天在jira给我提出的一个bug

下面是贴的代码

屏蔽或者禁止回车键

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--直接行内加-->
<!--<input onkeydown="if(event.keyCode==13){event.keyCode=0;event.returnValue=false;}">--> <!--非行内加-->
<form action="https://www.baidu.com" method="post" onsubmit="">
<input type="text" onkeydown="textShieldEnter()" />
<input type="submit" value="提交"/>
</form>
<script>
//uc浏览器有键盘回车自动提交功能,屏蔽如下
function textShieldEnter(){
if (event.keyCode == 13) {//判断是否为回车键,Event是window对象的一个属性,是全局的。
event.keyCode = 0;//屏蔽回车键
event.returnValue = false;
alert("不许enter提交!!");
}
}
</script>
</body>
</html>

但是表单表格多的时候 , 就不想这样做了, 这样全部没有回车提交了

document.onkeydown = function(e) {
var login = (typeof event != 'undefined') ? window.event: e;
if(login.keyCode == 13) {
return false;
}
};

刚刚看到一个很全的总结 https://www.cnblogs.com/caicaizi/p/6072554.html总结的"只要把type="submit"改成type="button"然后js提交, 在不要有一个type=”text”的input就行了。就不会发生回车跳转。 "

<!----2019.1.21---->

上周改完之后, 浏览器有缓存, 提交的时候, 竟然提交不了了:

原因是把<input>type="submit"改成type="button"了, [自己创建的新bug]

解决: 应该给这个<input>一个点击事件,来触发form表单提交,

同时<input type="button"  name="不要等于submit"/>,

还需要给<form>加id

<form action="/lineManager/add" method="post" id="publishSubmit" onsubmit="return checkForm()">

<div class="publish-btn">
<input type="button" name="别直接为submit" onclick="formSubmit()" value="立即发布" >
</div>
</form>
//给新按钮加提交表单
function formSubmit(){
$("#publishSubmit").submit();
}