Form tips
by FancyGrid Inc.
HTML
<script src="https://cdn.jsdelivr.net/npm/fancygrid/client/fancy.min.js"></script>
<div style="position:relative;height: 500px;">
<div id="grid" style="width: 500px;float: left;"></div>
<div id="form" style="float: left;margin-left: 10px;"></div>
</div>
JavaScript
document.addEventListener("DOMContentLoaded", function() {
var comboData = [{
country: 'USA'
}, {
country: 'Canada'
}, {
country: 'England'
}, {
country: 'Germany'
}];
var form = new FancyForm({
renderTo: 'form',
title: 'User Data',
width: 290,
height: 500,
defaults: {
type: 'string'
},
items: [{
name: 'id',
type: 'hidden'
}, {
label: 'Name',
tip: 'Name',
emptyText: 'Name',
name: 'name'
}, {
label: 'SurName',
tip: '{value}',
emptyText: 'SurName',
value: 'Johnson',
name: 'surname'
}, {
label: 'E-mail',
emptyText: 'E-mail',
name: 'email',
tip: function(field, value, label) {
return field.label;
},
valid: {
type: 'email',
blank: false,
blankText: 'Required',
text: 'Incorect email'
}
}, {
type: 'date',
label: 'Birthday',
name: 'birthday'
}, {
type: 'checkbox',
label: 'Active',
name: 'active',
value: true
}, {
type: 'number',
label: 'Hour rate',
name: 'hour',
min: 0
}, {
type: 'string',
label: 'Position',
name: 'position'
}, {
type: 'combo',
label: 'Country',
name: 'country',
data: comboData,
displayKey: 'country',
valueKey: 'country'
}, {
type: 'textarea',
label: 'About',
name: 'about'
}],
buttons: ['side', {
text: 'Clear',
handler: function() {
form.clear();
}
}, {
text: 'Save',
tip: 'Save',
handler: function() {
var values = form.get();
if (!values.id) {
return;
}
}
}]
});
});