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

 

 

我们可以重写一个方法

(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();

 

posted @ 2021-10-05 10:55  yvioo  阅读(850)  评论(0编辑  收藏  举报