我有一个表单,它被分解为一个 Jquery 内容滑块(即垂直选项卡)。这会将表单分成可管理的块供用户填写。
目前,如果用户忘记填写某个字段,则会将一个error
类应用于表单的该部分。但是,如果该部分不可见,则用户将看不到错误样式。
我想将错误类添加到垂直选项卡导航菜单的相应部分。我怎样才能做到这一点?
用于在section之间翻转的jquery代码如下:
$(".taptabs li").live('click', function() {
$(this).parent().parent().parent().$('.pages .page').hide().eq($(this).index()).show().addClass("animated").addClass(mode).addClass("fadeInLeft");
});
(Taptabs
是导航列表的名称。表单的每个部分都有一个类,page
每个部分也在 HTML 元素中<section>
)。
我认为这可以使错误消息出现在导航上:
$(".changing-room").submit(function () {
var isFormValid = true;
$("input.required").each( function () {
if ( $.trim( $(this).val() ).length === 0 ) {
$(this).parent().addClass("error");
var menulink = $(this).closest('section').index();
$('.tapnav li').index(menulink).addClass('error');
isFormValid = false;
}
});
});
在此代码中,当 Input 为空时,将Section
定位最近的标签(此部分标签包含表单的特定部分)。计算该部分标签的索引,然后将其应用于LI
导航菜单的对应部分。但是,它似乎不起作用,它实际上破坏了所有代码!
这是一个JS 小提琴