2017-06-12 54 views
0

我有一个简单的HTML表单,带有类'next-btn'的按钮。表单使用一个简单的验证器,当点击提交按钮并且输入字段未被验证时,输入字段的'.form-group'容器会得到一类'.has-error'。jQuery当按钮被点击检查以确保给定的条件满足,然后重定向页面

我想实现的是,当点击'.next-btn'按钮时检查以确保没有“#step-1 .form-group”有任何'.has-error'类,然后继续重定向页面到给定的URL“page2.html”。

这怎么能用jQuery来完成?我相信我们可以从:

$('.next-btn').on('click', function(){ 
    e.preventDefault(); 
    // if #step1 .form-group does not have class of .has-error 
    // Redirect to page2.html [window.location.href = "http://page2.com";?] 
}); 

非常感谢!

编辑:
下面是HTML:

<form role="form" class="order-form" method="get"> 
    <div class="row setup-content" id="step-1"> 
     <div class="steps-inner"> 
      <div class="col-md-12"> 
       <div class="row"> 
        <div class="col-sm-4"> 
         <div class="form-group"> 
          <input type="text" name="vehicle_year" class="form-control" placeholder="Car Year" data-error="Car Year is required" required /> 
          <div class="help-block with-errors"></div> 
         </div><!-- end form-group --> 
        </div> 
        <div class="col-sm-4"> 
         <div class="form-group"> 
          <input type="text" name="vehicle_make" class="form-control" data-error="Make is required" placeholder="Make" required /> 
          <div class="help-block with-errors"></div> 
         </div><!-- end form-group --> 
        </div> 
       </div><!-- end row --> 

       <div class="text-center form-submit"> 
        <button class="btn next-btn next-btn1" type="submit">Next <i class="fa fa-long-arrow-right"></i></button> 
       </div> 
      </div> 
     </div><!-- end steps-inner --> 
    </div><!-- end setup-content --> 
</form><!-- end order-form --> 
+0

请您可以张贴HTML是什么样子与不具有错误类。 – Harry

+0

添加了HTML,请检查 –

+0

但肯定是首先触发表单验证的按钮提交? – Harry

回答

0

更新的解决方案:

$('.next-btn').on('click', function() { 
    var haveErrors = false; 
    $formGroups = $('#step-1 .form-group'); 
    $formGroups.each(function() { 
     if ($(this).hasClass('has-error')) { 
     haveErrors = true; 
     } 
    }); 

    if (haveErrors) { 
    console.log('error'); 
    } else { 
    console.log('no error'); 
    } 
}); 
+0

这会将页面重定向到page2.com,即使.form-group有一类“has-error”。 (当然,我修改你的代码从“form.order-form”到“#step-1 .form-group”,因为这是我所要求的。 –

+0

@AlexZahir我已经更新了答案,现在它应该可以工作。 – Dusan

相关问题