首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

怎么获得jsp动态生成的div的值(急)

2013-12-13 
如何获得jsp动态生成的div的值(急)%List list (List)request.getAttribute(listTypes)for(int i0l

如何获得jsp动态生成的div的值(急)

<%
               List list = (List)request.getAttribute("listTypes");
               for(int i=0;list!=null&&i<list.size();i++){
                  Type type = (Type)list.get(i);
           %>

<tr>
<td height="20" bgcolor="#FFFFFF" class="STYLE19">
<div align="center" id="typeName|<%=type.getTypeId()%>" ondblclick="toReplace(this);"><%=type.getTypeName()%></div>
</td>
<td height="20" bgcolor="#FFFFFF" class="STYLE19">
<div align="center" id="typeDesc|<%=type.getTypeId()%>" ondblclick="toReplace(this);"><%=type.getTypeDes() %></div>
</td>

<td height="20" bgcolor="#FFFFFF">
<div align="center">
<span class="STYLE21"><a
href="addType.jsp?typeId=<%=type.getTypeId()%>">修改</a>|<a
href="typeAction!delete?typeId=<%=type.getTypeId()%>">删除</a> </span>
</div>
</td>


</tr>

<%
            }
        %>


这是小弟写的代码,大家注意div的id,我是这么命名的:id="typeName|<%=type.getTypeId()%>",中间有个'|'来截取种类的id号,并通过ajax发送给后台,js代码如下所示
toReplace = function(divElement) {
          // 创建一个input元素        
           var inputElement = document.createElement("input");
          // 把obj里面的元素以及文本内容赋值给新建的inputElement
          inputElement.value = divElement.innerHTML;
   
        // 用新建的inputElement代替原来的oldDivElement元素
          divElement.parentNode.replaceChild(inputElement, divElement);
        // 当inputElement失去焦点时触发下面函数,使得input变成div
          inputElement.onblur = function() {
        //把input的值交给原来的div
        divElement.innerHTML = inputElement.value;
      //用原来的div重新替换inputElement
       inputElement.parentNode.replaceChild(divElement, inputElement);
          
            var divValue = divElement.id;
            //获取divValue的数字和字母组成的数组
            var arr = divValue.split("|");
            //获取div中的数字
            var num = arr[1];
            //获取div中的字母
            var str = arr[0];
            alert(num);
             //记录种类名称
             var typeName;
             //种类简介
             var typeDesc;                   
         
          //种类信息
          if(divElement.id ==("typeName|" + num)){
             typeName = divElement.innerHTML;
             typeDesc = $("#typeDesc|" + num).val();
          }else if(divElement.id = ("typeDesc|"+num)){
             typeDesc = divElement.innerHTML;
             typeName = $("#typeName|"+num).val();
          }
          alert("name = " + typeName);
          alert("desc = " + typeDesc);
          $.ajax({   
                 type: "POST",   


                 url: "typeAction!update",   
                 data:   "typeId="+num+"&typeName="+typeName+"&typeDesc="+typeDesc+"&checkId="+num,   
                 success: function(msg){ ; }   

                });   
        }
     
         
         }
           



 该js的作用就是双击div使其编程可编辑区,输入内容修改数据后,通过ajax发送数据到后台action,但是typeDesc = $("#typeDesc|" <%=type.getTypeId()%>;就是这一句,为什么获得不了id为typeDesc| <%=type.getTypeId()%>的div的值呢?
当我点击id= typeId|<%=type.getTypeId()%>的时候,获得不了id为typeDesc|<%=type.getTypeId()%>的内容,反之点击typeDesc|时就获得不了typeId|的内容,这是为什么呢?
[解决办法]
不知道你的方法传的divElement是什么.不过,通过id 是可以获得到div的.

var divobj = document.getElementById("typeName
[解决办法]
123");
divobj.innerHTML = "newtest";


[解决办法]
typeDesc = $("#typeDesc
[解决办法]
" <%=type.getTypeId()%>); 这一句少了个) <%=type.getTypeId()%> 这个在JS中你alert一下看看有值没有。
[解决办法]
不明白,倒底哪行有问题 ?
divElement.innerHTML  这行不就是获得了div的值了吗.

热点排行