Autofill
This plugin offers the ability to auto fill form.
If the first parameter is an URL, the plugin will fetch the returned JSON object via AJAX. Or you can pass a pre-fetched JSON object so that no AJAX will be performed.
The second parameter is an object containing other options.
type - AJAX request type
data - Data to be sent to the server
errorTrigger - if the JSON object contains this as its key, error callback will be triggered. Useful if server side returns a custom error message
mSelectCheckName - Default to false.
True: look for multiple select boxes with their name.
False: look for multiple select boxes with their IDajaxError - callback function for AJAX error
error - error callback if the JSON object is empty, or contains errorTrigger as its key
beforeFillForm - callback function to be executed before start filling the form
beforeFill - callback function to be executed BEFORE filling a form element
afterFill - callback function to be executed AFTER filling a form element
complete - callback function to be executed when all form elements have been filled
Basi Example with pre-fetched data
var data = { username: 'peter', gender: 'M' };
$('form').autoFill(data);
Full Example using AJAX:
$('form').autoFill('get_data.php',
{
type: 'GET', // AJAX request method
data: { record_id: 2 }, // Request parameters
// if the JSON object contains this key,
// error callback will be triggered.
// Useful if server side returns a custom error message
errorTrigger: 'error',
// Default to false.
// True: look for multiple select boxes with their name
// False: look for multiple select boxes with their ID
mSelectCheckName: false,
ajaxError: function(error, form)
{
// do something if AJAX error occurs
alert(error);
$(form).hide();
},
error: function(form)
{
// do something if error occurs
alert('Unable to fill form!');
$(form).hide();
},
beforeFillForm: function(form)
{
// do something before start filling the form
$(form).show();
},
beforeFill: function(key, value, form)
{
// do something BEFORE filling an element
if(key == 'password')
return false; // return false to skip current form element
if(key == 'gender' && value == 'female')
alert("OH! She's a lady!");
},
afterFill: function(key, value, form)
{
// do something AFTER filling an element
if(value == 'blah')
confirm('What are you talking about?');
if(key == 'zip' && value == '')
return false; // return false to skip all pending form elements
},
complete: function(processed, form)
{
// do something when all elements have been filled
alert(processed + ' elements have been filled!');
}
});