JS使用html()获取html代码获取不到input、textarea控件填写的值

时间:2024-04-16 21:58:27

 

 

我们可以重写一个方法

(function ($) {
        var oldHTML = $.fn.html;
        $.fn.formhtml = function () {
            if (arguments.length) return oldHTML.apply(this, arguments);
            $("input,button", this).each(function () {
                this.setAttribute(\'value\', this.value);
            });
            $("textarea", this).each(function () {
                this.setAttribute(\'value\', this.value);
                this.innerHTML= this.value
            });
            $(":radio,:checkbox", this).each(function () {
                // im not really even sure you need to do this for "checked"
                // but what the heck, better safe than sorry
                if (this.checked) this.setAttribute(\'checked\', \'checked\');
                else this.removeAttribute(\'checked\');
            });
            $("option", this).each(function () {
                // also not sure, but, better safe...
                if (this.selected) this.setAttribute(\'selected\', \'selected\');
                else this.removeAttribute(\'selected\');
            });
            return oldHTML.apply(this);
        };
       
    })(jQuery);

 

调用的使用 

var html=$("#id").formhtml();