我有一个简单的 keyup 函数,用于类“keyup-an”,用于表单上的 keyup 验证。这个类大约有 10 个字段。但是发布后,我将字段添加到表单中。但绿色和红色的背景消失了,因为它不是键盘。我该如何做这样的事情,根据页面加载的结果为背景着色
jQuery(document).ready(function() {
$('.keyup-an').each(function(index) {
var inputVal = $(this).val();
var numericReg = /^[a-zA-Z0-9_ ]{2,30}$/;
if(!numericReg.test(inputVal)) {
$(this).css('background', '#FAC3C3');
$(this).after('<span class="error error-keyup-1">Please use letters or numbers only</span>');
}
else {
$(this).css('background', 'lightgreen');
}
});
$('.keyup-an').keyup(function() {
$('span.error-keyup-1').hide();
var inputVal = $(this).val();
var numericReg = /^[a-zA-Z0-9_ ]{2,30}$/;
if(!numericReg.test(inputVal)) {
$(this).css('background', '#FAC3C3');
$(this).after('<span class="error error-keyup-1">Please use letters or numbers only</span>');
}
else {
$(this).css('background', 'lightgreen');
}
});
最佳答案
我想这就是你想要的..
$(document).ready(function() {
// Each
$('.keyup-an').each(function() {
// Validate
validate(this);
// Key up
$(this).keyup(function(){
// Validate
validate(this);
});
});
});
// Validate Function
function validate(element) {
var obj = $(element);
if(!/^[a-zA-Z0-9_ ]{2,30}$/.test(obj.val())) {
// Invalid
obj.css('background', '#FAC3C3');
if(!obj.next().hasClass('error'))
{ obj.after('<span class="error error-keyup-1">Please use letters or numbers only</span>'); }
} else {
// Valid
obj.css('background', 'lightgreen');
if(obj.next().hasClass('error'))
{ obj.next().remove(); }
}
}
关于javascript - Jquery onload 每个循环很简单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13043212/