JS和ajax问题,如果读取多个id的值,传递到asp页面?高手请进!!

2025-02-24 19:36:09
推荐回答(1个)
回答1:

看你代码的写法:

for i=1 to 5
">删除

next

显示到画面上就是一串"删除"啊, 每次点击一个删除,也只能取到一个对应的ID啊,怎么会出现多个的情况呢?这个有点不理解!


如过你点击某个删除的时候,要取到当前这个删除对应的span的id,要把你的方法 b()修改一下,添加一个参数就好,传入触发当前click事件的对象,你的span标记也修改一下,调用b方法的时候传入this实参(代表触发当前事件的控件对象):

for i=1 to 5
">删除

next

这样,在b方法里,就可以通过传入的这个控件对象,取到他的ID或者其他什么属性。

    for i=1 to 5
      ">删除

    next
    
      function b(src)
      {
        var xmlHttp;
        try
        {
          // Firefox, Opera 8.0+, Safari
          xmlHttp=new XMLHttpRequest();
        }
        catch (e)
        {
      
          try
          {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch (e)
          {
            try
            {
              xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            { 
              alert("");
            return false;
            }
          }
        }
        xmlHttp.onreadystatechange=function()
        {
          if(xmlHttp.readyState==4)
          {
            //var a = xmlHttp.responseText.split(",");
            //document.getElementById("dengji").innerText=a[1];
            var a=xmlHttp.responseText;
            if (a=="j")
            {
              alert("aaaaaaaaaa!");
              window.navigate("123.asp"); 
            }
            //document.myForm.elements["time"].value="adasd";
            var   strXML;   
          
            strXML="";   
          
            strXML=xmlHttp.responseText;  
      
            //alert(strXML)
            //document.write ('当前时间是:'+strXML+'
')
          }
        }
        var ID = src.id;
        xmlHttp.open("GET","5.asp?pg=" + ID,true);
        xmlHttp.send(null);
      }
    


这个是传入单个ID的情况,如果点删除,可能要操作的是一批资料,对应多个ID的值,比如画面上有个table,里面显示了一批资料,每笔资料前面有个复选框,点删除之前可能要选择要删除的资料,就是在对应的要删除的资料前,把复选框的勾打上,然后我会在调用xmlHttp回传之前,把所有勾选的资料行对应的ID记录下来,组成一个字串。然后把这个字串当成url的参数(就是对应你这里pg的值)传入到服务器,然后在服务器拆分字串,就可以取得所有的ID值了。

相关问答