1. 程式人生 > >js獲取form表單數據和form表單賦值

js獲取form表單數據和form表單賦值

input orm htm for 獲取 pro 多行文本框 serialize PE

$.fn.extend({
// 調用方式:$("xxxxx").getform();

     getform: function () {                   
        var obj = {};
        var array = $(this).serializeArray();
        $.each(array, function () {
            obj[this.name] = this.value;
        });
        return obj;
    },              
            // 調用方式: $("xxx").setform(json);

            setform: function (jsonValue) {
        var obj = this;
        $.each(jsonValue, function (name, ival) {
            var $input = obj.find("input:[name=" + name + "]");
            if ($input.attr("type") == "radio" || $input.attr("type") == "checkbox") {
                $input.each(function () {
                    if (Object.prototype.toString.apply(ival) == ‘[object Array]‘) { // 是復選框,並且是數組  
                        for (var i = 0; i < ival.length; i++) {
                            if ($(this).val() == ival[i])
                                $(this).attr("checked", "checked");
                        }
                    } else {
                        if ($(this).val() == ival)
                            $(this).attr("checked", "checked");
                    }
                });
            } else if ($input.attr("type") == "textarea") { // 多行文本框  
                obj.find("[name=" + name + "]").html(ival);
            } else {
                obj.find("[name=" + name + "]").val(ival);
            }
        });
    }

});

js獲取form表單數據和form表單賦值