Autofill

联合创作 · 2023-10-02 14:33

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 ID

  • ajaxError - 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!');
    }
});

浏览 1
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报