Javascript IE 8中的Jquery Validity.valid错误

Javascript IE 8中的Jquery Validity.valid错误,javascript,jquery,validation,internet-explorer-8,Javascript,Jquery,Validation,Internet Explorer 8,Validity.valid为null或不是对象-使用Internet Explorer 8时存在此问题 这是我的部分代码: allNextBtn.click(function(){ var curStep = $(this).closest(".setup-content_cli"), curStepBtn = curStep.attr("id"), nextStepWizard = $('div.setup-panel_cli div a[href="#' + c

Validity.valid为null或不是对象-使用Internet Explorer 8时存在此问题

这是我的部分代码:

allNextBtn.click(function(){
  var curStep = $(this).closest(".setup-content_cli"),
      curStepBtn = curStep.attr("id"),
      nextStepWizard = $('div.setup-panel_cli div a[href="#' + curStepBtn + '"]').parent().next().children("a"),
      curInputs = curStep.find("input[type='text'],input[type='email'],input[type='url'],textarea, email,select,select[readonly]"),
      isValid = true;

  $(".form-group").removeClass("has-error");
  for(var i=0; i<curInputs.length; i++){
      if (!curInputs[i].validity.valid){
        isValid = false;
        $(curInputs[i]).closest(".form-group").addClass("has-error");
        $("#"+$(curInputs[i]).attr('id')+"ErrorCLI").show("fast");
        //$(curInputs[0]).closest(".form-group").focus();
      }
      else{
        $("#"+$(curInputs[i]).attr('id')+"ErrorCLI").hide("fast");
      }
  }

  if (isValid)
      nextStepWizard.removeAttr('disabled').trigger('click');
});
allNextBtn.单击(函数(){
var curStep=$(this).closest(“.setup-content\u cli”),
curStepBtn=curStep.attr(“id”),
nextStepWizard=$('div.setup-panel_cli div a[href=“#”+curStepBtn+'”).parent().next().children(“a”),
curInputs=curStep.find(“输入[type='text'],输入[type='email'],输入[type='url'],文本区域,电子邮件,选择,选择[readonly]”,
isValid=true;
$(“.form group”).removeClass(“有错误”);

对于(var i=0;i我想我找到了自己的答案,以防其他人有这个问题,我会发布自己的解决方案:

改变 如果(!curInputs[i].validity.valid) 到 if(curInputs[i].hasAttribute('required')&&curInputs[i].value==“”)


这是正确的,因为我只是检查必填字段。

因为IE8中不支持有效性。也许你可以找到一个polyfill。我不熟悉polyfill,但会尝试搜索它,你知道IE 8中有效性函数的任何替代方案吗?