需要在keyup函数退出时检查长度
need to check length on exit of keyup function
我写了一个keyup函数来检查长度,并在超过长度时向上发送消息,我正在编辑它,以确保它达到5位数字,因此在退出输入框时少于5位数字会发出警报。我有一个onblur,它正在工作,但如果我点击字段(不更改空格或任何内容并退出),我会得到一个错误字段0错误。有人能建议更好的方法吗
$.fn.moRate = function (myLength) {
fieldVal=$(this).val();
return this.each(function () {
$(this).keyup(function() {
fieldValue=$(this).val();
if ( !/^[0-9][.]+$/.test($(this).val()) ) {
$(this).val($(this).val().replace(/[^0-9][.]/g, ''));
}
if (fieldValue.length>myLength )
{
this.value=fieldValue.substr(0,myLength);
var myThis=$(this).attr('id');
moAlert('Number Only Field','You have reached the field length: '+myLength,$(this))
}
});
$(this).blur(function(){
if ($(this).val()==='')
{ $(this).val(fieldVal)}
if (fieldValue.length!=5){alert('Rate must be 5 digits including decimal')}
});
});
};
};
如果输入的无效,您可以使用required
属性、pattern
属性以及RegExp
'd+'.'d+|'.'d+
、maxlength
属性设置为6
、css
:focus
、:invalid
伪选择器和title
属性来显示消息
input:focus:invalid + [for="input"]:after {
content: "Rate must be 5 digits including decimal";
color: red;
}
<form>
<input id="input"
type="text"
pattern="'d+'.'d+|'.'d+"
maxlength="6"
title="Required input: five digits including a decimal"
required /><label for="input"></label><br>
<input type="submit" />
</form>
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 如何检查管道中未定义的项目
- 主干-不管怎样,检查事件以前是否绑定过
- 弹出窗口出现,然后退出
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 递归使用 eval() 是检查程序执行的好方法吗?
- 检查onsubmit doenst work jquery contactform上的函数
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- API密钥使用和检查示例
- 需要在keyup函数退出时检查长度
- 如何在Phonegap中的SQLITE中检查列退出或不退出
- 如何检查Javascript生成器是否已退出
- 如何使用javascript/jquery检查鼠标是否退出浏览器窗口
- 使用JS检查整数是否为偶数或按q退出
- 如何检查鼠标指针是否越过浏览器平面(鼠标退出网页)
- 如何检查数据是否退出json格式
- 使用ngCordova检查活跃的网络连接,如果在ionic中不是活跃的,就退出应用
- 检查鼠标是否在鼠标退出事件 - jQuery 上按下
- 在数组中添加/删除对象,并检查对象是否已退出