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

时间:2023-03-09 04:21:10
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方法在页面加载时调用一下,这样在文本框内容发生改变时,就会将新的内容写入到源代码中去,这样就可以实现将用户输入的文本打印出来了。