【发布时间】:2016-09-23 01:04:32
【问题描述】:
有两个选项卡分别命名为“第一个选项卡”和“第二个选项卡”。在第一个选项卡中,“名字”是必填字段,在第二个选项卡中,“电子邮件”是必填字段。当用户尝试单击第二个选项卡,而不是在第一个选项卡中填写必填字段,应显示警告消息,并且不应允许进入第二个选项卡,除非他在第一个选项卡中填写了所需的信息,第二个选项卡类似。
这里是代码
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Case</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="parsley.min.js"></script>
<script type="text/javascript">
var validate_form = function (form) {
if (true === form.parsley().isValid()){
$('.bs-callout-info').removeClass('hidden');
$('.bs-callout-warning').addClass('hidden');
var link = $('#mytabs .active').next().children('a').attr('href');
$('#mytabs a[href="' + link + '"]').tab('show');
return true;
} else {
$('.bs-callout-info').addClass('hidden');
$('.bs-callout-warning').removeClass('hidden');
return false;
}
};
</script>
</head>
<body>
<div class="container">
<div class="" role="tabpanel" data-example-id="togglable-tabs">
<ul class="nav nav-tabs bar_tabs tabs" role="tablist" id="mytabs">
<li role="presentation">
<a href="#first" id="li_first_tab" role="tab" data-toggle="tab">First tab</a>
</li>
<li role="presentation">
<a href="#second" id="li_second_tab" role="tab" data-toggle="tab">Second tab</a>
</li>
</ul>
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in " id="first">
<form id="tab_form" enctype="multipart/form-data" method="POST" data-parsley-validate class="form-horizontal form-label-left">
<div class="form-group">
<label for="first_name" class="control-label col-md-12 col-sm-12 col-xs-12">First Name<span class="required">*</span></label>
<div class="col-md-12 col-sm-12 col-xs-12">
<input required="required" id="first_name" class="form-control col-md-7 col-xs-12" type="text" name="first_name" />
</div>
</div>
<div class="form-group">
<label for="last_name" class="control-label col-md-12 col-sm-12 col-xs-12">Last Name</label>
<div class="col-md-12 col-sm-12 col-xs-12">
<input id="last_name" class="form-control col-md-7 col-xs-12" type="text" name="last_name" />
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-sm-6 col-xs-12 col-md-offset-3">
<input type="button" name="editBtn" value="Save" />
</div>
</div>
</form>
</div>
<div class="tab-pane fade" id="second">
<form id="tab_form" enctype="multipart/form-data" method="POST" data-parsley-validate class="form-horizontal form-label-left" >
<div class="form-group">
<label for="email" class="control-label col-md-12 col-sm-12 col-xs-12">Email<span class="required">*</span></label>
<div class="col-md-12 col-sm-12 col-xs-12">
<input required="required" id="email" class="form-control col-md-7 col-xs-12" type="text" name="email" />
</div>
</div>
<div class="form-group">
<label for="pnone" class="control-label col-md-12 col-sm-12 col-xs-12">Phone</label>
<div class="col-md-12 col-sm-12 col-xs-12">
<input id="phone" class="form-control col-md-7 col-xs-12" type="text" name="phone" />
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-sm-6 col-xs-12 col-md-offset-3">
<input type="button" name="editBtn" value="Save" />
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</body>
</html>
【问题讨论】:
-
您尝试了什么,什么不起作用,这与 Parsley 多步骤示例有何不同?
-
当第一个选项卡中的名字未填写时,第二个选项卡也处于活动状态,我希望它禁用并仅在填写所需填写的名字时启用它。跨度>
标签: jquery parsley.js bootstrap-tabs