Lodop輸出頁面input文本框的最新值


默認使用Lodop打印頁面上的文本框等,會發現雖然頁面上文本框輸入了值,打印預覽卻是空的,這是由於沒有把最新的值傳入Lodop。

如圖,演示的是Lodop如何輸出文本框內的新值,這里整個頁面只有input type="text",如果有單選等,需要判斷一下是input類型是文本框還是單選框 input type="radio"。如果有其他表單輸出項,也要添加到判斷里,除了input,還可能有select下拉列表。
為了簡略,圖中代碼里只讓innerHTML獲取的內容包含input(整個頁面只有type="text"文本框)的最新值。

同時讓innerHTML獲取的內容包含input和select(option)的最新值,下圖代碼可以從如下官網樣例里拷貝(或下載中心綜合版里自帶的樣例),頁面右鍵-查看源碼,可以查看或拷貝代碼寫好的refreshData()方法。
如果想打印使用頁面的最新值,可在打印前調用一下這個方法。

如下代碼,可用Lodop輸出文本框,單選框,復選框,下拉列表的最新值。

    function refreshData(){ //讓innerHTML獲取的內容包含input和select(option)的最新值
        var allInputObject=document.body.getElementsByTagName("input");
        for (i = 0; i < allInputObject.length; i++) {
            if(allInputObject[i].type=="checkbox")  {
                    if (allInputObject[i].checked ) 
                           allInputObject[i].setAttribute("checked","checked"); 
                           else
                        allInputObject[i].removeAttribute("checked");
            } else     if(allInputObject[i].type=="radio")  {
                    if (allInputObject[i].checked ) 
                           allInputObject[i].setAttribute("checked","checked"); 
                           else
                        allInputObject[i].removeAttribute("checked");
            }else allInputObject[i].setAttribute("value",allInputObject[i].value);
        };
        for (i = 0; i < document.getElementsByTagName("select").length; i++) {
            var sl=document.getElementsByTagName("select")[i];
            for (j = 0; j < sl.options.length; j++) {
            if (sl.options[j].selected) 
                         sl.options[j].setAttribute("selected","selected");
            else sl.options[j]=new Option(sl.options[j].text,sl.options[j].value);
            };
        };
    }; 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM