[英]taking text from textbox and putting into span in javascript
我正在通過從用戶屏幕收集所有HTML並將其放入變量中來執行自打印功能,該變量隨后顯示一個彈出屏幕,以便用戶可以打印該信息。
var disp_setting = "toolbar=no,location=no,directories=no,menubar=no,";
disp_setting += "scrollbars=yes, height=500, left=100, top=25";
var content_vlue = document.getElementById("print_content").innerHTML;
var docprint = window.open("", "", disp_setting);
docprint.document.open();
docprint.document.write('<html><head>');
docprint.document.write('</head><body text="#000000" onLoad="self.print()">');
docprint.document.write('<table>');
docprint.document.write(content_vlue);
docprint.document.write('</table>');
docprint.document.write('</body></html>');
docprint.document.close();
更新:好的,感謝到目前為止的許多建議,我開始取得一些進展...
我想做的是代替操縱print_content,而是將print_content放入變量(即content_vlue),然后操縱content_vlue。
var content_vlue = document.getElementById("print_content").innerHTML;
$("content_vlue").find("INPUT[type='text']").each(function(i){
var input = $(this);
input.replaceWith("<span class='textinput'>" + input.val() + "</span>";
});
有沒有辦法做到這一點?
您可以使用jQuery之類的庫嗎? 創建頁面后,很容易將輸入替換為span標簽:
function cleaninputs(){
$("body").find("input").each(function(i) {
var input = $(this);
input.replaceWith("<span class='textInput'>" + input.val() + "</span>");
});
}
編輯:
這是一個稍微重構的版本,應該可以執行您想要的操作:
function replaceInputs( _which ){
var cleanHTML = $("#"+_which).clone();
cleanHTML.find("input").each(function() {
var input = $(this);
input.replaceWith("<span class='textInput'>"+ " " + input.val() + "</span>");
});
return cleanHTML.html();
}
然后替換此行:
var content_vlue = document.getElementById("print_content").innerHTML;
與:
var content_vlue = replaceInputs("print_content");
而且你應該准備好了。 為了達到良好的效果,我做了一個jsfiddle: http : //jsfiddle.net/pcsF3/1/
僅使用CSS,您可以簡單地隱藏文本框的邊框,使其看起來像普通文本:
docprint.document.write('<style type="text/css"> input { border: 0; }</style>');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.