补充一下:有人用过用javascript访问DOM吗,有没有文档??

解决方案 »

  1.   

    为什么你不用c#后台邦定呢?是不是觉得效率不高?
    如果单是为了生成DropDownlist选单,我认为你可以将取出来的数据放入一个数组交给前台javascript去处理,这样的话效率也是不错的。
      

  2.   

    try if(!event.result.error){
    //txtResult.value = event.result.value.xml;
    document.write("<xml id='test'>"+event.result.value.xml+"</xml>");
    }
    在页面里面加个table
    <table id="t1" datasrc="#test">
    <tr>
    <td><div datafld="ProvinceName"></div>
    </td>
    </tr>
    </table>
      

  3.   

    楼上的
    document.write("<xml id='test'>"+event.result.value.xml+"</xml>");
    不行!!
      

  4.   

    这是个很简单的问题,用vbscript很容易搞定的,如有需要可贴上我的源码
      

  5.   

    当然要了,最好是javascript,但还是很感谢您,一定给分!!
      

  6.   

    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <style>
    td{font-size:14px}
    </style>
    <script language="javascript">
      function formchange()
      {
      form1.select3.disabled=!(form1.select2.value=='股东代码');  
      description.innerText=form1.select2.value+":";        
      
      }
    </script>
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <%
    set xmlobj=server.createobject("microsoft.xmldom")
    sourcexmlfile=server.mappath("xml\information.xml")
    xmlobj.load(sourcexmlfile)
    set objroot=xmlobj.documentelement.selectsinglenode("信息列表")
    %>
    <table border="0" width="219" align="center" cellpadding=0 cellspacing=0>
      <tr> 
    <td height="158"> 
      <div align="center"><img src="image/logo.gif" width="354" height="193"></div>
    </td>
      </tr>
    </table>
    <form name="form1" method="post" action="">
      <table border="0" width="376" align="center" >
    <tr> 
      <td width="137" align=right>帐号类别:</td>
      <td width="250"> 
    <select name="select2" onchange="formchange()">
      <%
    '=========从XML文件得到帐号类别列表=============
    max_number=objroot.childnodes.item(0).childnodes.length-1
    for i=0 to max_number
    response.write "<option value="&objroot.childnodes.item(0).childnodes.item(i).text&">"&objroot.childnodes.item(0).childnodes.item(i).text&"</option>"
    next
    %>
    </select>
    市场: 
    <select name="select3">
      <%
    '=========从XML文件得到市场类别列表=============
    max_number=objroot.childnodes.item(1).childnodes.length-1
    for i=0 to max_number
    response.write "<option value="&objroot.childnodes.item(1).childnodes.item(i).text&">"&objroot.childnodes.item(1).childnodes.item(i).text&"</option>"
    next
    %>
    </select>
      </td>
    </tr>
    <tr> 
      <td width="137" align="right">营业部名:</td>
      <td width="250"> 
    <select name="select">
      <%
    '=========从XML文件得到营业部名称列表=============
    max_number=objroot.childnodes.item(2).childnodes.length-1
    for i=0 to max_number
    response.write "<option value="&objroot.childnodes.item(2).childnodes.item(i).text&">"&objroot.childnodes.item(2).childnodes.item(i).text&"</option>"
    next
    %>
    </select>
      </td>
    </tr>
    <!--=================================================================================-->
    <tr> 
      <td width="137" align=right name="description" id="description">资金帐号:</td>
      <td width="250"> 
    <input type="text" name="textfield" size="40">
      </td>
    </tr>
    <tr> 
      <td width="137" align=right>交易密码:</td>
      <td width="250"> 
    <input type="text" name="textfield2" size="40">
      </td>
    </tr>
    <tr> 
      <td width="137" align=right>身份证号:</td>
      <td width="250"> 
    <input type="text" name="textfield3" size="40">
      </td>
    </tr>
    <tr> 
      <td colspan="2" align=center> 

      <input type="submit" name="Submit" value="&nbsp;登录&nbsp;" >
      <input type="reset" name="reset" value="&nbsp;重填&nbsp;" >

      </td>
    </tr>
      </table>
    </form>
    </body>
    </html>
    ====================以下是XML文件====================
    <?xml version='1.0' encoding='gb2312'?>
    <登录信息>
      <信息列表>
        <帐号> 
         <帐号类型1>资金帐号</帐号类型1>
         <帐号类型2>股东代码</帐号类型2>
        </帐号>
        <市场>
        <市场类型1>深圳A股</市场类型1>
    <市场类型2>上海A股</市场类型2>   
        <市场类型3>深圳B股</市场类型3>
    <市场类型4>上海B股</市场类型4>   
        </市场>
        <营业部名称>
              <营业部1>武汉营业部一</营业部1>
              <营业部1>武汉营业部二</营业部1>
              <营业部1>武汉营业部三</营业部1>
              <营业部1>武汉营业部四</营业部1>
        </营业部名称>
     </信息列表>
    </登录信息>   
      

  7.   

    老兄,我要的是客户端代码访问DOM的情形,不能是服务器端代码
      

  8.   

    还有,怕你们误解我的意思,我再说一遍:
    我要求用javascript脚本建数据岛,然后用我从webservice中获得的数据填充到数据岛,最后再将它绑定到table中显示出来。
      

  9.   


    我犯了一个错误,不能在function里用document.write
    而且event.result.value.xml格式比较多,不好直接用,不过用XMLDOM应该没问题1。
    你可以让webservice返回string 类型
    既return ds.getxml()然后把上面的改为
     var t=document.createElement("xml");
        t.id="test";
        t.innerHTML=event.result.value;
        document.body.appendChild(t);  后面<body onload="init()">
    <div id="service" style="behavior:url(webservice.htc)" onresult="onWSresult()">
    </div>
    <table datasrc="#test">
    <tr>
    <td><div datafld="ProvinceName"></div></td>
    </tr>
    </table>
    </body>
      

  10.   

    不会吧
    我调通了的
    你怎么用的?
    贴下你的htm
      

  11.   

    在前面的基础上
    document.body.appendChild(t); 后面加var p=document.createElement("select");
    p.id="Province";
    var nodes=t.documentElement.childNodes;
    p.options.add(new Option(""));
    for(i=0;i<nodes.length;i++)
    {
    p.options.add(new Option(nodes[i].selectSingleNode("操作").text));
    }
    document.body.appendChild(p);
      

  12.   

    其实
    如果你是想实现下拉列表的话
    在你最初那个代码里
    var provinces = event.result.value.selectNodes("//ProvinceName");
    和var nodes=t.documentElement.childNodes;的值应该是一样的
    其他参照改一下就可以了不过要用table直接绑定数据,对xml的格式有些要求,所以我才新建一个
    xml object