在一个<form>元素中有一个<input>,大家都知道这种情况下,在文本框中输入一些字符按回车可以直接提交数据,这是浏览器的默认行为。
现在用jquery监听键盘事件,当event.Code=13,也就是键盘按下回车的时候,执行其它动作(比如弹出警告框)。
这样一来就会产生其他问题,用户按回车不能直接提交数据了。
请问有哪些解决方案?
在一个<form>元素中有一个<input>,大家都知道这种情况下,在文本框中输入一些字符按回车可以直接提交数据,这是浏览器的默认行为。
现在用jquery监听键盘事件,当event.Code=13,也就是键盘按下回车的时候,执行其它动作(比如弹出警告框)。
这样一来就会产生其他问题,用户按回车不能直接提交数据了。
请问有哪些解决方案?
可以不使用浏览器的默认提交事件,估计你是想在提交之前验证一下输入的值,可以验证之后,手动提交
$('input').on('keydown',function(event){
event.preventDefault();//阻止浏览器默认动作
if(event.Code == 13){
//alert("你需要的操作");
}
$('form').submit();
});
可以不用监听键盘事件的。直接从源头解决。
监听表单的submit事件,对按钮提交和回车提交都适用。
$('form').on('submit', function(e) {
if (true) { //做一些判断,不符合提交条件的情况下执行alert
alert('这里是警告框')
e.preventDefault();
}
});
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
监听input的键盘事件,然后再判断是否是event.Code=13