我想使用Jquery来检测字段是否为空,如果是,请在其后附加我的$ error div。问题是,当使用IE9时,看起来该字段正在通过验证,尽管它是空白的。
然而,该字段(空白时)确实失败了下一步验证,验证了最小长度。
JQUERY CODE:
$(document).ready(function () {
//Handle Submit Function
$('#ARBB').submit(function (event) {
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
$(".error").remove();
var hasError = false;
var $error = $('<div class="error" style="display:none;"></div>');
//Loop through each form Input (LEFT)
$("#formLeft :input").each(function () {
var currentField = $(this);
var currentValue = currentField.attr("value");
if ($(this).attr("required") && $(this).val() === "") {
alert(currentValue);
$(this).after($error.clone().text('Required Field'));
$(".error:hidden").fadeIn("slow");
hasError = true;
return false;
}
///////////////////////////////////////////////////////////////////////
if ($(this).attr("min")) {
var $minLength = $(this).attr("min");
if (currentValue.length < $minLength) {
$(this).after($error.clone().text("Invalid Length"));
$(".error:hidden").fadeIn("slow");
hasError = true;
return false;
}
}
///////////////////////////////////////////////////////////////////////
if ($(this).attr("maxlength")) {
var $maxLength = $(this).attr("maxlength");
if (currentValue.length > $maxLength) {
$(this).after($error.clone().text("Invalid"));
$(".error:hidden").fadeIn("slow");
hasError = true;
return false;
}
}
///////////////////////////////////////////////////////////////////////
/////////////////////PREFORM REGEX/////////////////////////////////////
if ($(this).attr("pattern")) {
var reg = new RegExp($(this).attr("pattern"));
if (!reg.test(currentValue)) {
$(this).after($error.clone().text("Invalid"));
$(".error:hidden").fadeIn("slow");
hasError = true;
return false;
}
}
////////////////////////////////////////////////////////////////////////
}); //End Loop
return false;
}); // Submit Handler
}); //结束docready