我正在尝试验证表单中所有必需的类,然后显示错误消息。因为addClass和removeClass在IE8中不起作用。任何帮助表示赞赏。 以下是代码
$('#submit_form .required').filter(':visible').each(function () {
//$(this).next('div.error_text').remove();//Not working in IE8
//$(this).removeClass('required');//Not working in IE8
$(this).after('<div class="error_text">Required</div>').remove();
if (!$(this).val()) {
//input.addClass('required');//Not working in IE8
$(this).css("border","1px solid #FF0004");
$(this).after('<div class="error_text">Required</div>');
returnVal = false;
}
else{
returnVal = true;
}
});
此处如果字段未填充,则会在字段周围创建一个红色框并显示消息。因此,如果用户提交表单2或3次,则会多次显示该消息。所以我想首先删除该消息,然后检查该字段是否为空并相应地添加所需。我试图使用addClass和removeClass,它不起作用。我从1天起就在努力奋斗。有人可以帮我解决这个问题......
答案 0 :(得分:0)
此代码在IE8上运行正常,您必须向我们提供有关您要执行的操作的更多数据。
为什么要尝试删除该类只是为了之后添加它?如果值为空,为什么不删除它? 你的jquery版本是什么?
我做了一个小测试,在IE8上运行得很好:
<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="http://code.jquery.com/jquery-git.js"></script>
<style type="text/css">
.required {border:red solid 1px}
</style>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('#submit_form .required').filter(':visible').each(function () {
var $this = $(this);
$this.next('div.error_text').remove();//Not working in IE8
if (!$this.val()) {
$this.after('<div class="error_text">Required</div>');
returnVal = false;
}
else{
$this.removeClass('required');//Not working in IE8
returnVal = true;
}
});
});//]]>
</script>
</head>
<body>
<form id="submit_form">
<input type="text" class="required" value="a">
<br>
<input type="text" class="required" value="">
<br>
<input type="text" class="required" value="">
<br>
<input type="text" class="required" value="">
<br>
<input type="text" class="required" value="">
<br>
<input type="text" class="required" value="">
<br>
</form>
</body></html>