| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- <!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">
- <!-- form: -->
- <section>
- <div class="col-lg-8 col-lg-offset-2">
- <div class="page-header">
- <h2>Dynamic fields</h2>
- </div>
- <form id="defaultForm" method="post" class="form-horizontal" action="target.php">
- <div class="form-group">
- <label class="col-lg-3 control-label">Textbox</label>
- <div class="col-lg-5">
- <input class="form-control" type="text" name="textbox[]" placeholder="Textbox #1" />
- </div>
- <div class="col-lg-4">
- <button type="button" class="btn btn-default btn-sm addButton" data-template="textbox">Add</button>
- </div>
- </div>
- <div class="form-group hide" id="textboxTemplate">
- <div class="col-lg-offset-3 col-lg-5">
- <input class="form-control" type="text" />
- </div>
- <div class="col-lg-4">
- <button type="button" class="btn btn-default btn-sm removeButton">Remove</button>
- </div>
- </div>
- <div class="form-group">
- <label class="col-lg-3 control-label">Checkbox</label>
- <div class="col-lg-5">
- <div class="checkbox">
- <label>
- <input type="checkbox" name="checkbox[]" value="Choice #1" /> Choice <button type="button" class="btn btn-default btn-sm addButton" data-template="checkbox">Add</button>
- </label>
- </div>
- <div class="checkbox hide template" id="checkboxTemplate">
- <label>
- <input type="checkbox" value="1" /> <span class="lbl">Choice</span> <button type="button" class="btn btn-default btn-sm removeButton">Remove</button>
- </label>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label class="col-lg-3 control-label">Radio</label>
- <div class="col-lg-5">
- <div class="radio">
- <label>
- <input type="radio" name="radio[]" value="Choice #1" /> Choice <button type="button" class="btn btn-default btn-sm addButton" data-template="radio">Add</button>
- </label>
- </div>
- <div class="radio hide" id="radioTemplate">
- <label>
- <input type="radio" value="1" /> <span class="lbl">Choice</span> <button type="button" class="btn btn-default btn-sm removeButton">Remove</button>
- </label>
- </div>
- </div>
- </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>
- </section>
- <!-- :form -->
- </div>
- </div>
- <script type="text/javascript">
- $(document).ready(function() {
- $('.addButton').on('click', function() {
- var index = $(this).data('index');
- if (!index) {
- index = 1;
- $(this).data('index', 1);
- }
- index++;
- $(this).data('index', index);
- var template = $(this).attr('data-template'),
- $templateEle = $('#' + template + 'Template'),
- $row = $templateEle.clone().removeAttr('id').insertBefore($templateEle).removeClass('hide'),
- $el = $row.find('input').eq(0).attr('name', template + '[]');
- $('#defaultForm').bootstrapValidator('addField', $el);
- // Set random value for checkbox and textbox
- if ('checkbox' == $el.attr('type') || 'radio' == $el.attr('type')) {
- $el.val('Choice #' + index)
- .parent().find('span.lbl').html('Choice #' + index);
- } else {
- $el.attr('placeholder', 'Textbox #' + index);
- }
- $row.on('click', '.removeButton', function(e) {
- $('#defaultForm').bootstrapValidator('removeField', $el);
- $row.remove();
- });
- });
- $('#defaultForm')
- .bootstrapValidator({
- message: 'This value is not valid',
- feedbackIcons: {
- valid: 'glyphicon glyphicon-ok',
- invalid: 'glyphicon glyphicon-remove',
- validating: 'glyphicon glyphicon-refresh'
- },
- fields: {
- 'textbox[]': {
- validators: {
- notEmpty: {
- message: 'The textbox field is required'
- }
- }
- },
- 'checkbox[]': {
- validators: {
- notEmpty: {
- message: 'The checkbox field is required'
- }
- }
- },
- 'radio[]': {
- validators: {
- notEmpty: {
- message: 'The radio field is required'
- }
- }
- }
- }
- })
- .on('error.field.bv', function(e, data) {
- //console.log('error.field.bv -->', data.element);
- })
- .on('success.field.bv', function(e, data) {
- //console.log('success.field.bv -->', data.element);
- })
- .on('added.field.bv', function(e, data) {
- //console.log('Added element -->', data.field, data.element);
- })
- .on('removed.field.bv', function(e, data) {
- //console.log('Removed element -->', data.field, data.element);
- });
- });
- </script>
- </body>
- </html>
|