-1

我正在尝试验证表单中所有必需的类,然后显示错误消息。在那个 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 天以来,我一直在为此苦苦挣扎。有人可以帮我解决这个问题吗.....

4

1 回答 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>
于 2013-10-11T13:18:18.143 回答