Home
Softono

Codeigniter Bootstrap Form Builder

Open source MIT PHP
83
Stars
68
Forks
0
Issues
23
Watchers
9 years
Last Commit

 About Codeigniter Bootstrap Form Builder

Codeigniter + Bootstrap 2/3 Form Builder

Platforms

Web Self-hosted

Languages

PHP

Links

Need Help Installing Codeigniter Bootstrap Form Builder?

We provide expert installation service for this software. Our team will install, configure, and secure Codeigniter Bootstrap Form Builder on your server. plans start at just $30.

Codeigniter Bootstrap Form Builder

View on GitHub

Codeigniter Bootstrap 3 Form Builder

Do you want to write forms 60% faster?

Or type 60% less?

Are you using Codegniter and Bootstrap 3?

Then this is the plugin for you!

CodeIgniter library to build form's styled with Bootstrap 3. It's got 5 steps:

  • Load Libraries
  • Open Form
  • Echo out the output of your chosen function
  • Close your form
  • Enjoy Easy form building
  1. Load Libraries ==============

Load the Codeigniter form helper, then load the form_builder library.

$this->load->helper('form');
$this->load->library('form_builder');
  1. Open Your form ==============
<?= $this->form_builder->open_form(array('action' => '')); ?>
  1. Echo out your form ==============
<?
/* Prepare variables */
$defaults_object_or_array_from_db = NULL;

$item = new stdClass;
$item->id = 33;
$item->description = '';

$years = range(intval(date('Y')), intval(date('Y')) + 20);
$months = array_map(function ($n) {
	return str_pad($n, 2, '0', STR_PAD_LEFT);
}, range(1, 12));

$exp_month_options = array_combine($months, $months);
$cc_exp_month = '05';

$exp_year_options = array_combine($years, $years);
$cc_exp_year = intval(date('Y')) + 5;

$input_span = 'pull-left ';

/* Build form */
echo $this->form_builder->build_form_horizontal(
		array(
				array(/* HIDDEN */
						'id' => 'id',
						'type' => 'hidden',
						'value' => $item->id
				),
				array(/* INPUT */
						'id' => 'color',
						'placeholder' => 'Item Color',
						'input_addons' => array(
								'pre' => 'color: #',
								'post' => ';'
						),
						'help' => 'this is a help block'
				),
				array(/* DROP DOWN */
						'id' => 'published',
						'type' => 'dropdown',
						'options' => array(
								'1' => 'Published',
								'2' => 'Disabled'
						)
				),
				array(/* TEXTAREA */
						'id' => 'description',
						'type' => 'textarea',
						'class' => 'wysihtml5',
						'placeholder' => 'Item Description (HTML or rich text)',
						'value' => html_entity_decode($item->description)
				),
				array(/* COMBINE */
						'id' => 'expiration_date',
						'type' => 'combine', /* use `combine` to put several input inside the same block */
						'elements' => array(
								array(
										'id' => 'cc_exp_month',
										'label' => 'Expiration Date',
										'autocomplete' => 'cc-exp-month',
										'type' => 'dropdown',
										'options' => $exp_month_options,
										'class' => $input_span . 'required input-small',
										'required' => '',
										'data-items' => '4',
										'pattern' => '\d{1,2}',
										'style' => 'width: auto;',
										'value' => (isset($cc_exp_month) ? $cc_exp_month : '')
								),
								array(
										'id' => 'cc_exp_year',
										'label' => 'Expiration Date',
										'autocomplete' => 'cc-exp-year',
										'type' => 'dropdown',
										'options' => $exp_year_options,
										'class' => $input_span . 'required input-small',
										'required' => '',
										'data-items' => '4',
										'pattern' => '\d{4}',
										'style' => 'width: auto; margin-left: 5px;',
										'value' => (isset($cc_exp_year) ? $cc_exp_year : '')
								)
						)
				),
				array(/* DATE */
						'id' => 'date',
						'type' => 'date'
				),
				array(/* CHECKBOX */
						'id' => 'checkbox_group',
						'label' => 'Checkboxes',
						'type' => 'checkbox',
						'options' => array(
								array(
										'id' => 'checkbox1',
										'value' => 1
										// If no label is set, the value will be used
								),
								array(
										'id' => 'checkbox2',
										'value' => 2,
										'label' => 'Two'
								)
						)
				),
				array(/* RADIO */
						'id' => 'radio_group',
						'label' => 'Radio buttons',
						'type' => 'radio',
						'options' => array(
								array(
										'id' => 'radio_button_yes',
										'value' => 1,
										'label' => 'Yes'
								),
								array(
										'id' => 'radio_button_no',
										'value' => 0,
										'label' => 'No'
								)
						)
				),
				array(/* SUBMIT */
						'id' => 'submit',
						'type' => 'submit'
				)
		), $defaults_object_or_array_from_db);

echo $this->form_builder->close_form();
?>
  1. Close The Form ==============
<?= $this->form_builder->close_form(); ?>

Produces:

<form action="" class="form-horizontal col-sm-12" autocomplete="on" enctype="multipart/form-data" method="post" accept-charset="utf-8">
	<input type="hidden" name="id" value="33" />
	<div class="form-group">
		<label for="color" class="col-sm-2 control-label">Color</label>
		<div class="col-sm-9">
			<div class="input-group">
				<span class="input-group-addon">color: #</span>
				<input type="text" name="color" value="" id="color" placeholder="Item Color" class="form-control"  />
				<span class="input-group-addon">;</span>
			</div>
			<span class="help-block">this is a help block</span>
		</div>
	</div>
	<div class="form-group">
		<label for="published" class="col-sm-2 control-label">Published</label>
		<div class="col-sm-9">
			<select name="published" id="published" class="valid form-control">
				<option value="1">Published</option>
				<option value="2">Disabled</option>
			</select>
		</div>
	</div>
	<div class="form-group">
		<label for="description" class="col-sm-2 control-label">Description</label>
		<div class="col-sm-9">
			<textarea name="description" cols="40" rows="10" id="description" class="form-control wysihtml5" placeholder="Item Description (HTML or rich text)" ></textarea>
		</div>
	</div>
	<div class="form-group">
		<label for="expiration_date" class="col-sm-2 control-label">Expiration Date</label>
		<div class="col-sm-9">
			<select name="cc_exp_month" id="cc_exp_month" label="Expiration Date" autocomplete="cc-exp-month" class="pull-left required input-small valid form-control" required="" data-items="4" pattern="\d{1,2}" style="width: auto;">
				<option value="01">01</option>
				<option value="02">02</option>
				<option value="03">03</option>
				<option value="04">04</option>
				<option value="05" selected="selected">05</option>
				<option value="06">06</option>
				<option value="07">07</option>
				<option value="08">08</option>
				<option value="09">09</option>
				<option value="10">10</option>
				<option value="11">11</option>
				<option value="12">12</option>
			</select>
			<select name="cc_exp_year" id="cc_exp_year" label="Expiration Date" autocomplete="cc-exp-year" class="pull-left required input-small valid form-control" required="" data-items="4" pattern="\d{4}" style="width: auto; margin-left: 5px;">
				<option value="2016">2016</option>
				<option value="2017">2017</option>
				<option value="2018">2018</option>
				<option value="2019">2019</option>
				<option value="2020">2020</option>
				<option value="2021" selected="selected">2021</option>
				<option value="2022">2022</option>
				<option value="2023">2023</option>
				<option value="2024">2024</option>
				<option value="2025">2025</option>
				<option value="2026">2026</option>
				<option value="2027">2027</option>
				<option value="2028">2028</option>
				<option value="2029">2029</option>
				<option value="2030">2030</option>
				<option value="2031">2031</option>
				<option value="2032">2032</option>
				<option value="2033">2033</option>
				<option value="2034">2034</option>
				<option value="2035">2035</option>
				<option value="2036">2036</option>
			</select>
		</div>
	</div>
	<div class="form-group">
		<label for="date" class="col-sm-2 control-label">Date</label>
		<div class="col-sm-9">
			<input type="date" name="date" value="" id="date" class="form-control"  />
		</div>
	</div>
	<div class="form-group">
		<label for="checkbox_group" class="col-sm-2 control-label">Checkboxes</label>
		<div class="col-sm-9">
			<label class="checkbox-inline">
				<input type="checkbox" name="checkbox_group" value="1" id="checkbox_group" label="1"  />
				1
			</label>
			<label class="checkbox-inline">
				<input type="checkbox" name="checkbox_group" value="2" id="checkbox_group" label="Two"  />
				Two
			</label>
		</div>
	</div>
	<div class="form-group">
		<label for="radio_group" class="col-sm-2 control-label">Radio buttons</label>
		<div class="col-sm-9">
			<label class="radio-inline">
				<input type="radio" name="radio_group" value="1" id="radio_group" label="Yes"  />
				Yes
			</label>
			<label class="radio-inline">
				<input type="radio" name="radio_group" value="0" id="radio_group" label="No"  />
				No
			</label>
		</div>
	</div>
	<div class="form-group">
		<label for="submit" class="col-sm-2 control-label">
		</label>
		<div class="col-sm-9">
			<input type="submit" name="submit" value="Submit"  class="btn btn-primary" name="submit" value="" />
		</div>
	</div>
</form>

ScreenShot