gpt4 book ai didi

javascript - 当 div 元素隐藏时跳过 jQuery 验证

转载 作者:行者123 更新时间:2023-11-28 15:03:13 25 4
gpt4 key购买 nike

所以我遇到了以下问题,如果有人能给我指出正确的方向,我将不胜感激。

我已在 http://192.99.201.241/~alumni/register/ 创建了一份由多部分组成的注册表单并使用以下代码将表单拆分为多个部分。

    jQuery(document).ready(function() {

/*
Form
*/
$('.registration-form fieldset:first-child').fadeIn('slow');

$('.registration-form input[name="s2member_pro_stripe_checkout[first_name]"], .registration-form input[name="s2member_pro_stripe_checkout[last_name]"], .registration-form input[type="password"], .registration-form input[name="s2member_pro_stripe_checkout[username]"], .registration-form input[name="s2member_pro_stripe_checkout[email]"], .registration-form input[name="s2member_pro_stripe_checkout[custom_fields][degree]"], .registration-form input[name="s2member_pro_stripe_checkout[custom_fields][year]"], .registration-form input[name="s2member_pro_stripe_checkout[custom_fields][dob]"]').on('focus', function() {
$(this).removeClass('input-error');
});

// next step
$('.registration-form .next').on('click', function() {
var parent_fieldset = $(this).parents('fieldset');
var next_step = true;

parent_fieldset.find('input[name="s2member_pro_stripe_checkout[first_name]"], input[name="s2member_pro_stripe_checkout[last_name]"], input[name="s2member_pro_stripe_checkout[username]"], input[type="email"], input[type="password"], input[name="s2member_pro_stripe_checkout[custom_fields][degree]"], input[name="s2member_pro_stripe_checkout[custom_fields][year]"], input[name="s2member_pro_stripe_checkout[custom_fields][dob]"]').each(function() {
if( $(this).val() == "" ) {
$(this).addClass('input-error');
next_step = false;
}
else {
$(this).removeClass('input-error');
}
});

if( next_step ) {
parent_fieldset.fadeOut(400, function() {
$(this).next().fadeIn();
});
}

});

// previous step
$('.registration-form .previous').on('click', function() {
$(this).parents('fieldset').fadeOut(400, function() {
$(this).prev().fadeIn();
});
});

});

当您在表格的第二部分时,会出现一个问题“您希望注册为什么”。如果您选择非校友选项,您的学位、毕业年份、校友编号和 LinkedIn 将被隐藏(围绕这些字段的 div 元素将设置为不显示)。但是,当您点击“下一步”时,您将无法进一步继续,因为“您的学位”和“毕业年份”是必填字段。换句话说,我想在这两个字段隐藏时跳过它们的验证。

谢谢。

最佳答案

删除隐藏字段验证的最简单方法是为其添加禁用属性。

var $div2 = $('div#2');
$div2.hide();

$('input, select, textarea', $div2).attr('disabled', 'disabled');

关于javascript - 当 div 元素隐藏时跳过 jQuery 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40175656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com