繁体   English   中英

jQuery:提交前验证字段(多步骤表单)

[英]jQuery: Validating fields before submitting (multistep form)

我有一个包含2个步骤的表格。 我想做的是在继续下一步之前验证每个步骤。 用户应该无法进入步骤1的步骤2的字段无效。

js小提琴: http//jsfiddle.net/Egyhc/
您可以在下面找到表格的简化版:

<form>
  <div id="step1" style="display: block;">
    <label for="first_name">First Name</label>
    <input type="text" value="" name="first_name" id="FirstName"/>

    <label for="last_name">Last Name</label>
    <input type="text" value="" name="last_name" id="LastName"/>
  </div>


  <div id="step2" style="display: none;">
    <label for="first_name">Address</label>
    <input type="text" value="" name="address" id="Address"/> 
  </div>

  <a href="#" id="step1_btn">Continue to step 2</a>
  <input type="submit" id="submit_btn" value="Verstuur" style="display: none;" />
</form>

$(function() {
  $('#step1_btn').click(function() {
    $('#step1').hide();
    $('#step2, #submit_btn').show();        
  });
});​

你们如何建议我实现这一目标?

jQuery validate有一个非常简洁的设置,可让您忽略对隐藏字段的验证。 因此,您可以处理步骤的显示/隐藏逻辑,而对于验证,您可以执行以下操作:

如此暗示: 忽略隐藏

$("form").validate({
   ignore: ":hidden"
});

如果您需要检查默认表单提交之外的其他内容的验证,则可以使用如下valid方法: $("form").valid()

我注意到您的表单上没有任何验证类,因此我假设您正在其他地方进行处理。 以防万一,您可以告诉jQuery通过CSS类验证您的规则,如下所示: <input type="text" class="required digits"/>

在此处查看更多信息: http : //bassistance.de/2008/01/30/jquery-validation-plugin-overview/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM