• 我的第一个AJAX程序


    MyFirstAjax.htm:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>My First Ajax</TITLE>

    <script language="JavaScript">
    //===============================================================================================================
       var xmlHttp;
       function createXMLHttpRequest()
            {
        
               if(window.ActiveXObject)
       xmlHttp=new window.ActiveXObject("Microsoft.XMLHttp");
      else if(window.XMLHttpRequest)
              xmlHttp=new window.XMLHttpRequest();
     
      }

      
    //===============================================================================================================
     function LoadList()
     {
      createXMLHttpRequest();
      xmlHttp.OnReadyStateChange=HandleStateChange_1;
      xmlHttp.open("Get","data.xml",true);
      xmlHttp.send(null);
     }

      function HandleStateChange_1()
      {
         if(xmlHttp.ReadyState==4)
         {
         if(xmlHttp.Status==200)
         {
            try
            {
               FillList();
            }
      catch (exception)
            {
       alert("error");
            }
           
         }
         }
     }


    function addOption(list, text, value)
    {
    var index=list.options.length;
    list.options[index]=new Option(text, value);
    //list.selectedIndex=index;
    }


    function FillList()
     {
      var xmlDoc=xmlHttp.responseXML;
      var Nodes=xmlDoc.getElementsByTagName("pro");
      for(i=0;i<Nodes.length;i++)
         {
      var NodeValue=Nodes[i].getAttribute("name");
      addOption(document.ajax.Province,NodeValue,NodeValue);

         }
        
     }
    //===============================================================================================================
    function startRequest()
        {
      createXMLHttpRequest();
      xmlHttp.OnReadyStateChange=HandleStateChange;
      xmlHttp.open("Get","data.xml",true);
      xmlHttp.send(null);
        }

     function HandleStateChange()
      {
         if(xmlHttp.ReadyState==4)
         {
         if(xmlHttp.Status==200)
         {
            try
            {
               simple(document.ajax.Province.selectedIndex);
            }
            catch (exception)
            {
             alert("error");
            }
         }
         }
      }
     function simple(index)
     {
       //alert(document.ajax.Province.selectedIndex); //selectedIndex从0开始;如果未选中 返回-1
       if(index==-1)
       {
        document.ajax.Province.selectedIndex=0;
        index=0;
       }

         var str="";
            var pro=document.ajax.name.value;
      var xmlDoc=xmlHttp.responseXML;
      var JiangNode=xmlDoc.getElementsByTagName("pro")[index];
      //alert(JiangNode.getAttribute("name"));
      str=JiangNode.getAttribute("name")+":"
      var detailNode=JiangNode.getElementsByTagName("detail");
      for(i=0;i<detailNode.length;i++)
         {
         if(i==0)
         {
          str=str+detailNode[i].childNodes[0].nodeValue;
         }
         else
         {
          str=str+","+detailNode[i].childNodes[0].nodeValue;    
         }
         }
         document.ajax.name.value=str;
     }
     //===============================================================================================================
     function re_Size()
    {
     //alert(event.srcElement.name);
     if(event.srcElement.name=="add")
     {
      document.ajax.Province.size=document.ajax.Province.size+1;
     }
     else if(event.srcElement.name=="sub")
     {
      if(document.ajax.Province.size>=2)
       document.ajax.Province.size=document.ajax.Province.size-1;
     }
    }
    </script>

    </HEAD>
    <BODY onLoad="LoadList()">

    <form action=# name="ajax">
    <input type=button name="add" value=" + " onClick="re_Size()">
    <input type=button name="sub" value=" - " onClick="re_Size()">

    <br>
    <select name="Province" size=5>
    </select>
    <br>
    <input type=text name="name" size=50></input>
    <input type=button value="Get" onclick="startRequest()"></input>
    </form>


    </BODY>
    </HTML>

    data.xml:
    <?xml version="1.0" encoding="gb2312" ?>
    <root>
    <pro name="江苏省">
       <detail>南京</detail>
       <detail>苏州</detail>
       <detail>无锡</detail>
       <detail>常州</detail>
       <detail>镇江</detail>
       <detail>南通</detail>
       <detail>扬州</detail>
       <detail>徐州</detail>
    </pro>
    <pro name="浙江省">
       <detail>杭州</detail>
       <detail>宁波</detail>
       <detail>温州</detail>
       <detail>绍兴</detail>
       <detail>嘉兴</detail>
       <detail>湖州</detail>
    </pro>
    <pro name="福建省">
       <detail>福州</detail>
       <detail>厦门</detail>
    </pro>
    <pro name="广东省">
       <detail>广州</detail>
       <detail>深圳</detail>
       <detail>东莞</detail>
       <detail>珠海</detail>
    </pro>
    <pro name="山东省">
       <detail>济南</detail>
       <detail>青岛</detail>
       <detail>威海</detail>
       <detail>烟台</detail>
    </pro>
    </root>

  • 相关阅读:
    linux从入门到精通(五)(更改文件的所有者,所属组)
    【洛谷】4180:【模板】严格次小生成树[BJWC2010]【链剖】【线段树维护最大、严格次大值】
    CF980E The Number Games【树链剖分/线段树】
    【POJ】1419:Graph Coloring【普通图最大点独立集】【最大团】
    【HDU】2866:Special Prime【数论】
    【BZOJ】1415: [Noi2005]聪聪和可可【期望】【最短路】【记忆化搜索】
    【BZOJ】2561: 最小生成树【网络流】【最小割】
    【洛谷】3966:[TJOI2013]单词【AC自动机】【fail树】
    【10.17校内测试】【二进制数位DP】【博弈论/预处理】【玄学(?)DP】
    【洛谷】2602: [ZJOI2010]数字计数【数位DP】
  • 原文地址:https://www.cnblogs.com/RobotTech/p/536044.html
Copyright © 2020-2023  润新知