js打印保存用户输入的内容

在用js打印局部页面时,遇到用户新输入的内容没能打印出来,经过观察,发现我采用的js打印方法是读取页面源代码,而用户输入的内容如果不将其写入到页面源代码中去,是打印不出来的,下面是我的解决方法:

//获取标签自身
jQuery.fn.outerHTML = function (s) {
    return (s) ? this.before(s).remove() : $("<Hill_man>").append(this.eq(0).clone()).html();
};
String.prototype.contains = function (str) {
    return this.indexOf(str) > -1 ? true : false;
};
//保存用户输入
function saveUserInput() {
    $("input[type=text]").each(function () {
        $(this).bind("change", function () {
            var old = $(this).outerHTML();
            var ghf = $(this).val();
            var newStr = "";
            if (old.contains("value")) {
                newStr = old.replace(/value="*"/, "value='" + ghf + "'");
            } else {
                newStr = old.replace(/type="text"/, " type='text' value='" + ghf + "'");
            }
            $(this).outerHTML(newStr);

        });
    });

 使用时,只需要将saveUserInput方法在页面加载时调用一下,这样在文本框内容发生改变时,就会将新的内容写入到源代码中去,这样就可以实现将用户输入的文本打印出来了。

原文地址:https://www.cnblogs.com/zinan/p/4071006.html