关于 调戏他 归档 搜索

istyles

查看更多 查看更多

BootstrapValidator 回车提交表单屏蔽

最近在项目中用到BootstrapValidator ,它是一款基于Bootstrap3设计的jquery 表单验证插件,样式也与Bootstrap3完美兼容。公司的项目设计到扫码枪输入,由于扫码枪会在完成扫码同时在后面跟一个回车,导致表单提交,这样的效果不是我们想要的。查了一下BootstrapValidator API,并没有解决这个问题的配置项,就想试试可不可以通过修改源码的方式解决这个问题;
发现 BootstrapValidator.prototype原型下面,有一个 _init 方法,在初始化的时候会拿到表单对象去绑定一些事件,我们可以在这里监测当有回车时干掉默认行为,从而屏蔽回车导致表单提交;

this.$form
.on('keydown', function(e) {
e = e || event;
var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
if (keyCode == 13) {
e.preventDefault();
}
})
// Disable client side validation in HTML 5
.attr('novalidate', 'novalidate')
.addClass(this.options.elementClass)
// Disable the default submission first

评论
©istyles | Powered by LOFTER