With FormKit library, you can integrate form widgets with your own frameworks,
And of course, you can define your own form widgets for your applications easily.
Tired with HTML forms ? There are some widget layout engines that can render widget into HTML with HTML table or fieldsets/legends. Of course you can define your own layout engine too!
composer require corneltek/formkit "^1.3"
To use a text input widget:
$text = new FormKit\Widget\TextInput('username', array(
'label' => 'Username',
'placeholder' => 'Your name please',
'hint' => 'Please enter 6 characters for your username',
));
$text->value( 'default' )
->size(20);
echo $text; // render
Which outputs:
<input type="text" name="username" value="default" placeholder="Your name please" size="20"/>
<div class="formkit-hint">Please enter 6 characters for your username</div>
SelectInput:
/* selector with group options */
$countries = new FormKit\Widget\SelectInput( 'country' , array(
'label' => 'Country',
'options' => array(
'Test' => 'Test',
'Asia' => array(
'Taiwan',
'Taipei',
'Tainan',
'Tokyo',
'Korea',
)
)
));
use FormKit\Element;
$ul = new Element('ul');
$li = new Element('li');
$li->append( new Element('a') );
$li->appendText( "DOMText Node here" );
$li->addClass('item');
$li->setId('MyID');
$li->appendTo($ul);
echo $li->render();
To use generic layout:
$layout = new FormKit\Layout\GenericLayout;
$layout->width(400);
$layout->addWidget( $text )
->addWidget( $password )
->addWidget( $remember )
->addWidget( $birthday )
->addWidget( $best_time )
->addWidget( $role )
->addWidget( $size )
->addWidget( $countries )
->cellpadding(6)
->cellspacing(6)
->border(0);
echo $layout;
Form Widget Factory:
use FormKit\FormKit;
$username = FormKit::text('username');
$password = FormKit::password('password',array(
'class' => 'your-element-class-name',
'id' => 'your-element-id',
'value' => 'default password',
));
echo $username->render();
echo $password->render();
$form = new FormKit\Element\Form(array(
'class' => 'blah blah'
));
// render elements manully
echo $form->open();
echo $form->renderChildren();
echo $form->close();
// which is equal to
echo $form->render();
- TextareaInput
- TextInput
- ButtonInput
- CheckboxInput
- ColorInput
- DateInput
- DatetimeInput
- FileInput
- HiddenInput
- Label
- PasswordInput
- RadioInput
- ResetInput
- SelectInput
- SubmitInput
- AjaxCompleteInput
- CanvasInput
Install assets for demo:
$ assetkit install
MIT License