<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        javascript讀取XML數據,在頁面中展現、編輯、保存的實現_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 20:45:05
        文檔

        javascript讀取XML數據,在頁面中展現、編輯、保存的實現_javascript技巧

        javascript讀取XML數據,在頁面中展現、編輯、保存的實現_javascript技巧:首先考慮用什么方法做,考慮到三個方式:1、C#拼HTML構造table,修改和保存通過Ajax實現。2、XML+XSL,展現和修改用兩個XSL文件來做,Ajax修改、保存XML。3、GridView控件。 經過細致考慮,首先第三方案GridView控件滿足不了需求,因為XML格式多樣,可
        推薦度:
        導讀javascript讀取XML數據,在頁面中展現、編輯、保存的實現_javascript技巧:首先考慮用什么方法做,考慮到三個方式:1、C#拼HTML構造table,修改和保存通過Ajax實現。2、XML+XSL,展現和修改用兩個XSL文件來做,Ajax修改、保存XML。3、GridView控件。 經過細致考慮,首先第三方案GridView控件滿足不了需求,因為XML格式多樣,可

        首先考慮用什么方法做,考慮到三個方式:1、C#拼HTML構造table,修改和保存通過Ajax實現。2、XML+XSL,展現和修改用兩個XSL文件來做,Ajax修改、保存XML。3、GridView控件。
        經過細致考慮,首先第三方案GridView控件滿足不了需求,因為XML格式多樣,可能涉及到很多的行、列合并和行、列表頭合并。第一方案太麻煩,坐起來是細致活和體力活,需求變動后不好修改。所以選擇第二方案。開始學習XPath、XSLT。AJAX用js異步調用一般處理文件(ashx)的方式。
        1、實現選擇框(通過Ajax讀取數據庫,綁定數據)的綁定時出現錯誤,最終發現是在讀取XML時使用了異步方式與Ajax有沖突,用同步就可以解決了。
        2、保存XML。修改后的數據怎么保存到XML了?通過Javascript保存,js不能保存,如果用js保存必須用hta;用AJax保存,怎么能讓修改后的XML傳到AJAX方法里去,瞎琢磨,試了幾種方法,還真讓我試出來了,源碼
        js:
        代碼如下:
        var $=function (id){return document.getElementById(id);}
        var xmlHttp;
        var curControl;
        var curValue;
        function ToEdit(){
        var xml = new ActiveXObject("Microsoft.XMLDOM");
        xml.async = false;
        xml.load("myxml.xml");
        var xsl = new ActiveXObject("Microsoft.XMLDOM");
        xsl.async = false;
        xsl.load("myxsl_edit.xsl");
        document.write(xml.transformNode(xsl));
        document.close();
        //綁定選擇框
        LoadSelect();
        }
        //保存xml
        function Save(){
        var oDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");//負責得到響應結果
        oDoc.async = false;
        oDoc.resolveExternals = false;
        oDoc.load("myxml.xml");
        var data = oDoc.selectNodes("http://Data[@IsEdit='1']");//讀取所有請求大類所屬小類的類名
        for(var i=0; i < data.length; i++)
        {
        var nodeEdit;
        var nodeID;
        var nodeType;
        for(var j=0; j{
        if(data[i].attributes[j].nodeName=="IsEdit")
        {
        nodeEdit = data[i].attributes[j].nodeValue;
        }
        else if(data[i].attributes[j].nodeName=="id")
        {
        nodeID = data[i].attributes[j].nodeValue;
        }
        else if(data[i].attributes[j].nodeName=="Type")
        {
        nodeType = data[i].attributes[j].nodeValue;
        }
        }
        if(nodeType=="Combox")
        {
        var combox = $(nodeID);
        if(combox!=null)
        {
        if(combox.options.length>0)
        data[i].text = combox.options[combox.selectedIndex].value;
        }
        }
        else
        {
        data[i].text = $(nodeID).value;
        }
        }
        var strXML = oDoc.xml;
        var url="saveXML.ashx";
        StartRequest(url,null,AfterEdit,strXML,"POST");
        }
        function AfterEdit()
        {
        //可以不用下面兩個if語句,沒有用異步方式
        if(xmlHttp.readyState==4)
        {
        if(xmlHttp.status==200)
        {
        var rtn = xmlHttp.responseText;
        if(rtn=="true")
        {
        alert("保存成功!");
        }
        else
        {
        alert("保存失敗!");
        }
        Show();
        }
        }
        }
        function Show()
        {
        // Load XML
        var xml = new ActiveXObject("Microsoft.XMLDOM");
        xml.async = false;
        xml.load("myxml.xml");
        // Load XSL
        var xsl = new ActiveXObject("Microsoft.XMLDOM");
        xsl.async = false;
        xsl.load("myxsl.xsl");
        document.write(xml.transformNode(xsl));
        document.close();
        }
        ///////////////////綁定下選擇框////////////////////////
        function LoadSelect()
        {
        var allcontrols = document.all;
        for(var j=0;j{
        if(allcontrols[j].tagName=="SELECT")
        {
        var datainfo = allcontrols[j].flex;
        //datainfo:tablename^value^name^selectedvalue
        var datainfo_sp = datainfo.split('

        );
        if(datainfo_sp.length>2)
        {
        var selectID = datainfo_sp[0];
        var selectedValue = datainfo_sp[2];
        var datainfo_sp_sp = datainfo_sp[1].split('^');
        var table = datainfo_sp_sp[0];
        var value = datainfo_sp_sp[1];
        var text = datainfo_sp_sp[2];
        var control = $(selectID);
        var param = "table=" + table + "&value=" + value + "&text=" + text;
        curControl = control;
        curValue = selectedValue;
        var callback = BindSelect;
        StartRequest("getDataSet.ashx", param, BindSelect,null,"GET");
        }
        }
        }
        }
        function BindSelect()
        {
        //可以不用下面兩個if語句,沒有用異步方式
        if(xmlHttp.readyState==4)
        {
        if(xmlHttp.status==200)
        {
        var control = curControl;
        var selectedValue = curValue;
        var data = xmlHttp.responseText;
        if(data != null || data !="")
        {
        control.add(new Option("",""));
        var data_sp = data.split('

        );
        for(var i=0; i{
        var data_sp_sp = data_sp[i].split('^');
        if(data_sp_sp.length>1)
        control.add(new Option(data_sp_sp[1], data_sp_sp[0]));
        }
        for(var i =0;i{
        if(control.options[i].value == selectedValue)
        {
        control.selectedIndex = i;
        break;
        }
        }
        }
        }
        }
        }
        ///////////////////綁定下選擇框////////////////////////
        ///////////////////實現Ajax///////////////////////////
        function StartRequest(url,param,callback,sendString,type)
        {
        if(window.XMLHttpRequest)
        {
        xmlHttp=new XMLHttpRequest();//mozilla瀏覽器
        }
        else if(window.ActiveXObject)
        {
        try
        {
        xmlHttp=new ActiveXObject("MSXML2.XMLHTTP");//IE舊版本
        }
        catch(e)
        {
        try
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//IE新版本
        }
        catch(e)
        {
        }
        }
        if(!xmlHttp)
        {
        window.alert("不能創建XMLHTTPREQUEST對象!");
        return false;
        }
        }
        var strURL = url + (param != "" && param!=null ? "?" + param : "");
        sendString = "param=" + sendString;
        xmlHttp.open(type,strURL,false);
        xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
        xmlHttp.onreadystatechange=callback;
        xmlHttp.send(sendString);
        }

        xml






        統計




        類別


        系數


        分析




        比例1


        比例2


        比例3


        比例4


        比例5


        比例6


        比例7







        1


        01


        5.0


        2009-10-05


        21111


        21


        21


        21




        2


        2


        3


        4


        4


        2


        2


        2




        3


        1


        2


        4


        4


        2


        1


        1




        小計:







        4


        4


        4


        4


        4


        2


        4


        4




        5


        4


        4


        4


        4


        2


        4


        4




        6


        3


        4


        4


        4


        2


        3


        3




        7


        4


        4


        4


        4


        4


        4


        4




        8


        4


        4


        4


        4


        3


        4


        4




        9


        4


        4


        4


        4


        1


        5.0


        2009-10-14




        小計:







        10


        4


        4


        4


        4


        1


        5.0


        2009-10-14




        11


        4


        4


        4


        4


        1


        5.0


        2009-10-14




        12


        4


        4


        4


        4


        1


        5.0


        2009-10-14




        小計:




        顯示頁的xsl
        代碼如下:

        xmlns:xsl="http://www.w3.org/1999/XSL/Transform">



        table demo

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript讀取XML數據,在頁面中展現、編輯、保存的實現_javascript技巧

        javascript讀取XML數據,在頁面中展現、編輯、保存的實現_javascript技巧:首先考慮用什么方法做,考慮到三個方式:1、C#拼HTML構造table,修改和保存通過Ajax實現。2、XML+XSL,展現和修改用兩個XSL文件來做,Ajax修改、保存XML。3、GridView控件。 經過細致考慮,首先第三方案GridView控件滿足不了需求,因為XML格式多樣,可
        推薦度:
        標簽: 技巧 編輯 在頁面
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲国产日韩在线一区| 国产v片免费播放| 亚洲成a人片在线观看无码专区| 免费无毒a网站在线观看| 国产人妖ts在线观看免费视频| 亚洲视频无码高清在线| 69成人免费视频| 亚洲jjzzjjzz在线观看| 永久免费的网站在线观看| 亚洲AV成人一区二区三区在线看 | 亚洲av中文无码乱人伦在线咪咕| 一级毛片免费一级直接观看| 亚洲国产一区二区视频网站| 一级做a爰片性色毛片免费网站| 亚洲VA综合VA国产产VA中| v片免费在线观看| 久久久久噜噜噜亚洲熟女综合 | 免费视频成人手机在线观看网址| 久久91亚洲精品中文字幕| 99久久精品国产免费| 亚洲一区精彩视频| 国产成人免费A在线视频| caoporm碰最新免费公开视频| 亚洲精品夜夜夜妓女网| 色猫咪免费人成网站在线观看| 亚洲精品在线视频观看| 男女交性永久免费视频播放| 老司机精品视频免费| 国产亚洲精品xxx| 国产男女爽爽爽爽爽免费视频| 亚洲精品天堂无码中文字幕| 国产成人精品日本亚洲专区61| 最近免费视频中文字幕大全| 亚洲人成网站免费播放| 亚洲另类少妇17p| 99re视频精品全部免费| 美女黄频免费网站| 老司机亚洲精品影院| 成人亚洲网站www在线观看| 免费国产黄网站在线观看可以下载 | 国产在线一区二区综合免费视频|