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

fori=1to5<spanonClick="b()"id="<%=i%>">删除</span><br>next<scripttype="text/javascript"... for i=1 to 5
<span onClick="b()" id="<%=i%>">删除</span><br>
next
<script type="text/javascript">
function b()
{
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 ('<div id="Layer1" style="position:absolute; left:186px; top:136px; width:433px; height:180px; z-index:1">当前时间是:'+strXML+'</div>')
}
}
xmlHttp.open("GET","5.asp?pg=这里读取span里id的值,怎么读取呢?",true);
xmlHttp.send(null);
}
</script>
想问的问题就是,当点击删除,就触发了onClick="b()" 怎么知道点击的删除id的值是什么?
该怎么读取这id的值呢?请用js些代码出来。
我读取这个值的作用是xmlHttp.open("GET","5.asp?pg=这里读取span里id的值,怎么读取呢?",true);
当把信息传到5.asp的页面,在这能读取到pg的值
请注意的是span里id的值是多个的,如果是一个的话我自然就会读取了
就是现在面临多个,不是很懂JS,不知道该如何写,怎么读取。
请高手指点!谢谢!
展开
 我来答
zhfto
2013-07-08 · TA获得超过563个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:211万
展开全部

看你代码的写法:

for i=1 to 5
<span onClick="b()" id="<%=i%>">删除</span><br>
next

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


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

for i=1 to 5
<span onClick="b(this)" id="<%=i%>">删除</span><br>
next

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

    for i=1 to 5
      <span onClick="b(this)" id="<%=i%>">删除</span><br>
    next
    <script type="text/javascript">
      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 ('<div id="Layer1" style="position:absolute; left:186px; top:136px; width:433px; height:180px; z-index:1">当前时间是:'+strXML+'</div>')
          }
        }
        var ID = src.id;
        xmlHttp.open("GET","5.asp?pg=" + ID,true);
        xmlHttp.send(null);
      }
    </script>


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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式