182 lines
8.1 KiB
HTML
182 lines
8.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>BootstrapValidator demo</title>
|
|
|
|
<link rel="stylesheet" href="../vendor/bootstrap/css/bootstrap.css"/>
|
|
<link rel="stylesheet" href="../dist/css/bootstrapValidator.css"/>
|
|
|
|
<script type="text/javascript" src="../vendor/jquery/jquery.min.js"></script>
|
|
<script type="text/javascript" src="../vendor/bootstrap/js/bootstrap.min.js"></script>
|
|
<script type="text/javascript" src="../dist/js/bootstrapValidator.js"></script>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<div class="page-header">
|
|
<h2>Dynamic fields</h2>
|
|
</div>
|
|
|
|
<form id="interviewForm" method="post" class="form-horizontal" action="target.php">
|
|
<div class="form-group">
|
|
<label class="col-lg-3 control-label">Your name</label>
|
|
<div class="col-lg-5">
|
|
<input class="form-control" type="text" name="name" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="col-lg-3 control-label">Topic</label>
|
|
<div class="col-lg-5">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" name="topic[]" value="css" /> CSS
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" name="topic[]" value="javascript" /> Javascript
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="display: none;" data-topic="css">
|
|
<fieldset>
|
|
<legend>CSS</legend>
|
|
<p>Choose the frameworks that support responsive:</p>
|
|
|
|
<div class="form-group">
|
|
<div class="col-lg-offset-3 col-lg-5">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" name="css_frameworks[]" value="Bootstrap" /> Bootstrap
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" name="css_frameworks[]" value="Foundation" /> Foundation
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" name="css_frameworks[]" value="Blueprint" /> Blueprint
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" name="css_frameworks[]" value="960gs" /> 960 Grid System
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" name="css_frameworks[]" value="Pure" /> Pure
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" name="css_frameworks[]" value="YAML" /> YAML
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div style="display: none;" data-topic="javascript">
|
|
<fieldset>
|
|
<legend>Javascript</legend>
|
|
<p>Name 4 Javascript frameworks you have heard about</p>
|
|
|
|
<div class="form-group">
|
|
<div class="col-lg-offset-3 col-lg-5">
|
|
<input class="form-control" type="text" name="js_frameworks[]" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-lg-offset-3 col-lg-5">
|
|
<input class="form-control" type="text" name="js_frameworks[]" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-lg-offset-3 col-lg-5">
|
|
<input class="form-control" type="text" name="js_frameworks[]" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-lg-offset-3 col-lg-5">
|
|
<input class="form-control" type="text" name="js_frameworks[]" />
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<div class="col-lg-offset-3 col-lg-3">
|
|
<button type="submit" class="btn btn-primary">Submit</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
$(document).ready(function() {
|
|
$('#interviewForm')
|
|
.bootstrapValidator({
|
|
message: 'This value is not valid',
|
|
feedbackIcons: {
|
|
valid: 'glyphicon glyphicon-ok',
|
|
invalid: 'glyphicon glyphicon-remove',
|
|
validating: 'glyphicon glyphicon-refresh'
|
|
},
|
|
fields: {
|
|
name: {
|
|
validators: {
|
|
notEmpty: {
|
|
message: 'The name is required'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
.find('input[type="checkbox"][name="topic[]"]')
|
|
.on('change', function() {
|
|
var topic = $(this).val(),
|
|
$container = $('[data-topic="' + topic + '"]');
|
|
$container.toggle();
|
|
|
|
var display = $container.css('display');
|
|
switch (true) {
|
|
case ('css' == topic && 'block' == display):
|
|
$('#interviewForm').bootstrapValidator('addField', 'css_frameworks[]', {
|
|
validators: {
|
|
notEmpty: {
|
|
message: 'Please choose at least 1 framework'
|
|
}
|
|
}
|
|
});
|
|
break;
|
|
case ('css' == topic && 'none' == display):
|
|
$('#interviewForm').bootstrapValidator('removeField', 'css_frameworks[]');
|
|
break;
|
|
case ('javascript' == topic && 'block' == display):
|
|
$('#interviewForm').bootstrapValidator('addField', 'js_frameworks[]', {
|
|
validators: {
|
|
notEmpty: {
|
|
message: 'The name of framework is required'
|
|
}
|
|
}
|
|
});
|
|
break;
|
|
case ('javascript' == topic && 'none' == display):
|
|
$('#interviewForm').bootstrapValidator('removeField', 'js_frameworks[]');
|
|
break;
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html> |