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