2013-10-11 57 views
-1

我想验证窗体中所有需要的类,然后显示错误消息。在那addClass和removeClass不在IE8中工作。任何帮助表示赞赏。 下面是代码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天以来,我一直在努力。有人可以帮我解决这个问题.....

+1

什么价值'input'? – Blazemonger

+0

我不删除$(this)。我删除在此之后创建的div。该div是动态创建的,用于显示错误消息 – user1049057

+1

将其放入小提琴中。 –

回答

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> 
+0

说例如,如果用户第一次提交表格没有填写详细信息,字段将变为红色并显示“必需”文本。所以再次如果用户提交,文本再次被添加。我试图在第一次删除它。但是没有发生。另外,如果我尝试添加所需的类使用addClass它不采取那也。 – user1049057

+0

这不是你的所有代码吗?你遗漏了一个'DOCTYPE'和你所有的结束标签''。 – War10ck

+1

现在它有'DOCTYPE'和所有结束标记''。 我会更仔细地复制下一个类型 –

相关问题