成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

JavaScript 實(shí)現(xiàn)局部打?。▌?dòng)態(tài)獲取的內(nèi)容)

MingjunYang / 3136人閱讀

摘要:第一次寫打印,只知道,可是直接出來(lái)的是當(dāng)前頁(yè)面的所有內(nèi)容,而我要做的是打印當(dāng)前模態(tài)框里展示的內(nèi)容。怎么辦,接著搜唄。

第一次寫打印,只知道window.print(),可是直接出來(lái)的是當(dāng)前頁(yè)面的所有內(nèi)容,而我要做的是打印當(dāng)前模態(tài)框里展示的內(nèi)容。
網(wǎng)上搜了一下,都是指定具體的div,然后獲取該div里的內(nèi)容賦值給window.document.body.innerHTML

        var bodyHtml = window.document.body.innerHTML;
        window.document.body.innerHTML = html;//html為當(dāng)前顯示的div的內(nèi)容
        window.print();
        window.document.body.innerHTML = bodyHtml;

但是這個(gè)就導(dǎo)致了一個(gè)問(wèn)題,如果是打印的內(nèi)容這樣的,可以直接獲取打印,但如果是賦值到input標(biāo)簽里的,根本就獲取不到值啊。
怎么辦,接著搜唄。
找到兩種方法,第一種,也是比較原始的:將表單中的數(shù)據(jù)進(jìn)行綁定,獲取過(guò)來(lái)重新賦值給對(duì)應(yīng)的input中;

  //打印模態(tài)框問(wèn)卷內(nèi)容
        $(".myform").on("click", "a[name="printInfo"]", function () {
            $("#listModal").modal("hide");//關(guān)閉模態(tài)框
            $("#quesInfoModal").modal("hide");
            var weI = this.id;
            onprint(weI);
        });
    });
    //打印指定區(qū)域
    function printHtml(html) {
        var bodyHtml = window.document.body.innerHTML;
        window.document.body.innerHTML = html;
        window.print();
        window.document.body.innerHTML = bodyHtml;
        //上面關(guān)于bodyHtml賦值的兩項(xiàng)操作可以忽略,因?yàn)橐P(guān)閉模態(tài)框并且刷新頁(yè)面
        //這個(gè)地方必須要刷新一下頁(yè)面,打印重新賦值之后,模態(tài)框里的功能都不能正常使用,
        包括父頁(yè)面列表中的功能也失效,這個(gè)問(wèn)題不是很明白,有知道的可以幫忙解決一下
        refreshFrame();//刷新頁(yè)面
    }
    function onprint(weI) {
        if (weI == "wenjuanI") {//調(diào)查問(wèn)卷詳情
            bindData("#quesInfoModal");
            var html = $("#quesInfoModal").html();
        } else {
            bindData("#listModal");
            var html = $("#listModal").html();
        }

        printHtml(html);
    }
    //將表單中手動(dòng)填寫的數(shù)據(jù)進(jìn)行綁定,便于html()的時(shí)候獲取到  
    function bindData(modalID) {
        //type=text,type=number, 同時(shí)如果checkbox,radio,select>option的值有變化, 也綁定一下
        $(modalID + " input[type="text"]").each(function () {
            $(this).attr("value", $(this).val());
        });
        $(modalID + " input[type="number"]").each(function () {
            $(this).attr("value", $(this).val());
        });
         $(modalID + " input,select option").each(function(){  
            $(this).attr("value",$(this).val());  
        });  
        //type=checkbox,type=radio 選中狀態(tài)  
        $(modalID + " input[type="radio"]").each(function () {
            if ($(this).attr("placeholder")) {//$(this).attr("checked")
                $(this).attr("checked", true);
            } else {
                $(this).removeAttr("checked");
            }
        });
        $(modalID + " input[type="checkbox"]").each(function () {
            if ($(this).attr("placeholder")) {//$(this).attr("checked")
                $(this).attr("checked", true);
            } else {
                $(this).removeAttr("checked");
            }
        });

        //$(".modal-backdrop").each(function () {//關(guān)閉模態(tài)框的遮罩層
        //    $(this).removeClass("in");
        //});
    }
    

注意:這種方法,必須要刷新一下頁(yè)面,打印重新賦值之后,模態(tài)框里的功能都不能正常使用,包括父頁(yè)面列表中的功能也失效,(相當(dāng)于頁(yè)面變成了一個(gè)純靜態(tài)頁(yè)面,沒(méi)有js了)這個(gè)問(wèn)題不是很明白,有知道的可以幫忙解決一下啦
第二種方法,我看網(wǎng)上有說(shuō)用jqprint插件的(http://www.jq22.com/jquery-in...),這個(gè)我也沒(méi)有詳細(xì)的看,只是稍微試了一下,也是不能獲取到input的值,而且隱藏的div也一并給顯示出來(lái)的了,效果不好,有會(huì)的可以指教一下啊。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/92270.html

相關(guān)文章

  • JavaScript深入之詞法作用域和動(dòng)態(tài)作用域

    摘要:作用域作用域是指程序源代碼中定義變量的區(qū)域。采用詞法作用域,也就是靜態(tài)作用域。而與詞法作用域相對(duì)的是動(dòng)態(tài)作用域,函數(shù)的作用域是在函數(shù)調(diào)用的時(shí)候才決定的。前面我們已經(jīng)說(shuō)了,采用的是靜態(tài)作用域,所以這個(gè)例子的結(jié)果是。 JavaScript深入系列的第二篇,JavaScript采用詞法作用域,什么語(yǔ)言采用了動(dòng)態(tài)作用域??jī)烧叩膮^(qū)別又是什么?還有一個(gè)略難的思考題,快來(lái)看看吧。 作用域 作用域是指...

    gclove 評(píng)論0 收藏0
  • JavaScript中詞法作用域、閉包與跳出閉包

    摘要:是典型的詞法作用域的語(yǔ)言,即一個(gè)符號(hào)參照到語(yǔ)境中符號(hào)名字出現(xiàn)的地方,局部變量缺省有著詞法作用域。沒(méi)有任何自己的局部變量,然而它可以訪問(wèn)到外部函數(shù)的變量,即可以使用父函數(shù)中聲明的變量。通常,函數(shù)中的局部變量?jī)H在函數(shù)的執(zhí)行期間可用。 本文從屬于筆者的JavaScript 入門與最佳實(shí)踐系列文章,同時(shí),本部分內(nèi)容也歸納于筆者的我的校招準(zhǔn)備之路:從Web前端到服務(wù)端應(yīng)用架構(gòu)這篇綜述。 大部分...

    lykops 評(píng)論0 收藏0
  • 函數(shù)基本概念

    摘要:返回相加的和永遠(yuǎn)也不會(huì)執(zhí)行函數(shù)參數(shù)聲明函數(shù)時(shí)沒(méi)有給參數(shù),但調(diào)用函數(shù)時(shí)會(huì)傳參。當(dāng)網(wǎng)頁(yè)在全局作用域中調(diào)用函數(shù)時(shí),這個(gè)對(duì)象引用的就是。 函數(shù) 通過(guò)函數(shù)可以封裝任意多條語(yǔ)句,可以在任何地方,任何時(shí)候調(diào)用執(zhí)行。每個(gè)函數(shù)都是function類型的實(shí)例,和其他引用類型一樣具有屬性和方法。把函數(shù)保存為對(duì)象中的一個(gè)屬性時(shí),該屬性稱之為方法。 函數(shù)聲明語(yǔ)法方式 普通聲明方式 function sum ()...

    Lycheeee 評(píng)論0 收藏0
  • 深入學(xué)習(xí)js之——詞法作用域和動(dòng)態(tài)作用域

    摘要:在中的應(yīng)用采用詞法作用域,也就是靜態(tài)作用域。那什么又是詞法作用域或者靜態(tài)作用域呢請(qǐng)繼續(xù)往下看靜態(tài)作用域與動(dòng)態(tài)作用域因?yàn)椴捎玫氖窃~法作用域函數(shù)的作用域在函數(shù)定義的時(shí)候就決定了。 開(kāi)篇 當(dāng)我們?cè)陂_(kāi)始學(xué)習(xí)任何一門語(yǔ)言的時(shí)候,都會(huì)接觸到變量的概念,變量的出現(xiàn)其實(shí)是為了解決一個(gè)問(wèn)題,為的是存儲(chǔ)某些值,進(jìn)而,存儲(chǔ)某些值的目的是為了在之后對(duì)這個(gè)值進(jìn)行訪問(wèn)或者修改,正是這種存儲(chǔ)和訪問(wèn)變量的能力將狀態(tài)給...

    shiweifu 評(píng)論0 收藏0
  • 簡(jiǎn)析前端學(xué)習(xí)python3基礎(chǔ)

    摘要:元組是靜態(tài)數(shù)組,它們不可變,且其內(nèi)部數(shù)據(jù)一旦創(chuàng)建便無(wú)法改變。元組緩存于運(yùn)行時(shí)環(huán)境,這意味著我們每次使用元組時(shí)無(wú)須訪問(wèn)內(nèi)核去分配內(nèi)存。 以下是整理的JavaScript和python的基礎(chǔ)區(qū)別的整理: 字符串、列表、元組、字典、集合、函數(shù) 字符串 聲明一個(gè)字符串 python str = 123 str = 123 Tips: 如果是三個(gè)引號(hào)的話,那么在py中就是注釋的意思 ...

    summerpxy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<