带有下一个/上一个按钮的 jQuery 验证

Posted

技术标签:

【中文标题】带有下一个/上一个按钮的 jQuery 验证【英文标题】:jQuery validation with next/prev button 【发布时间】:2016-05-31 13:44:04 【问题描述】:

这里Demo

每个区块包含 5 个问题。每个区块必须填满并进入下一个区块。

我厌倦了表单验证,但它进入下一个块。我需要填写所有值并转到下一个块。

在最后一个块中只包含提交按钮。 如何在最后一个块中显示提交按钮。

$('#nextBlock').click(function() 
    $('#register').valid();
    $('.current').removeClass('current').hide()
        .next().show().addClass('current');
    if ($('.current').hasClass('last')) 
        $('#nextBlock').attr('disabled', true);
    
    $('#prevBlock').attr('disabled', null);
);

感谢您的评论和评论 :)

这里是我更新的 Codepen: Demo

我遇到了另一个问题。它的作品只有codepen。但在我的 html 中不起作用。单选按钮无效。仅文本框有效

【问题讨论】:

你在使用jquery验证插件吗 @ArunPJohny 他没有检查 valid() 值,也没有调用 validate();在它之前.. jsfiddle.net/arunpjohny/uhjLdnyo/3 @ArunPJohny :在评论之前我已经添加了一个答案 【参考方案1】:

validate() 需要在使用检查之前在表单上调用 这个方法。

http://jqueryvalidation.org/valid

你应该检查它后面的valid()的值;

 $('#register').validate()
if($('#register').valid())
   // do the action
   

WORKING CODEPEN

$(function()
$('#register').validate();
    $('#nextBlock').click(function() 

      if ($('#register').valid()) 
        $('.current').removeClass('current').hide()
          .next().show().addClass('current');
        if ($('.current').hasClass('last')) 
          $('#nextBlock').attr('disabled', true);
        
        $('#prevBlock').attr('disabled', null);
      

    );

);

【讨论】:

您在.validate() 之前有一个.valid()。在 click() 处理函数中也有 .validate()。仅供参考 - .validate() 方法仅用于初始化插件,应该在 DOM 就绪时完成,而不是在点击处理程序中。 @Sparky:你是对的 validate..它应该在 DOM 就绪和 valid() 上完成,然后 validate 只是一个错字:) 感谢您指出:)【参考方案2】:

将 .valid() 放在 if 条件中,如果字段被验证,它将返回 true,并且只会继续下一步:

$('#nextBlock').click(function() 
    if ($('#register').valid()) 
        $('.current').removeClass('current').hide()
            .next().show().addClass('current');
        if ($('.current').hasClass('last')) 
            $('#nextBlock').attr('disabled', true);
        
        $('#prevBlock').attr('disabled', null);
    
);

【讨论】:

以上是关于带有下一个/上一个按钮的 jQuery 验证的主要内容,如果未能解决你的问题,请参考以下文章

带有下一个/上一个按钮的 Jquery 图像库无法正常工作

jQuery Validation - 一个 asp.net 表单上的多个提交按钮,不同的验证组?

如何使用引导程序,jquery为选项卡制作上一个和下一个按钮?

如何使用 jquery 启用表单的提交按钮?

将上一个和下一个按钮添加到 li item php 或 jquery

带有验证和存储 Jquery 的 Laravel 表单添加 html 元素