input输入框超过字符长度禁止输入,并只提示一次
需求:输入框内输入字符超过限制长度后,不可输入,并且只提示一次
<el-input @input="lenMin(text)" :maxlength="20"></el-input>
1
maxlength:input输入最大长度
// 最小限制字符
lenMin(text) {
// 添加一个标识 flag ,满足条件后将flag 改变,并return中断判断
let flag = true
text.trim()
if (flag && text.length >= 20) {
this.$message.error('最大不超过20个字符')
flag = false;
} else {
return
}
},
使用elementUI表单验证跳至不通过(非法)的位置
利用focus(),获取焦点直接跳转
this.$refs.addForm.validate(async valid => {
if (valid) {
do something()
} else {
setTimeout(()=>{
var isError= document.getElementsByClassName("is-error");
isError[0].querySelector('input').focus();
},100);
return false;
}
})
亲测有用
二,利用 ref 获取节点跳转,滚动到对应位置
this.$refs.addForm.validate(async (valid, object) => {
if (valid) {
do something()
} else {
this.scrollView(object)
}
})
调用下面的scrollView()
scrollView(object) {
console.log(object,1111) // 非法数组的集合
for (const item in object) {
console.log(item,'ppppp') // 非法数据的位置
let dom = this.$refs[item] // 获取位置信息,上面要定义好ref="this.$refs[item]"
console.log(dom,2222) // 获取节点
if (Object.prototype.toString.call(dom) !== '[object Object]') { // 这里是针对遍历的情况(多个输入框),取值为数组
dom = dom[0]
}
dom.$el.scrollIntoView({
block: 'center', // 值有start,center,end,nearest,当前显示在视图区域中间
behavior: 'smooth' // 值有auto、instant,smooth,缓动动画(当前是慢速的)
})
break;
}
},
没测,另一个类似的有错
判断页面是否存在某个元素
var ipDiv = $(".XXX");
if(ipDiv && ipDiv.length > 0){
alert("存在");
}
拼串
<input value="'+_name+'" />\