我想通过单击一个图片触发事件,该图片变成一个textarea,然后textarea
会获得服务器端数据,服务器数据是用jstl获取的如${orderItem.note}
应该如何做呢?

解决方案 »

  1.   

    在body里这样写:<body onLoad="testFun('${orderItem.note}')">
    图片代码:<div id="replaceDiv"><img src="...."/></div>
    然后function test(textValue) 

      document.getElementById("replaceDiv").innerHTML="<textarea>"+textValue+"</textarea>"; 
      

  2.   

    现在的问题是第一行的图片能变成textarea显示数据了,点击后面的行的图片,
    把数据全部显示在第一行里function createTextarea(value) {
    document.getElementById("test").innerHTML=" <textarea>"+value+" </textarea>"; 
    }调用:
    <td>
    <c:choose>
    <c:when test="${orderItem.note!=null}">
    <div id="test">
    <img onClick="createTextarea('${orderItem.note}')" src="<c:url value="/images/BO_invoice.gif"/>" style="cursor:hand">
    </div>
    </c:when>
    <c:otherwise>
    &nbsp;
    </c:otherwise>
    </c:choose>
    </td>
      

  3.   

    如果服务器端有数据发送来的话
    建议使用ajax 简单的很
    把数据保存到xml
    然后在js获得xmldom读数据就可以了
    然后在jsp页面中写一个id(用于显示输出在哪)
    然后同一楼:使用innerHTML="";
      

  4.   

    你把每一行的div的ID都设成不一样的,传到js里面去function createTextarea(value,itemID) {    
        document.getElementById("test"+itemID).innerHTML=" <textarea>"+value+" </textarea>"; 
    }调用:
    <td>
                                <c:choose>
                                    <c:when test="${orderItem.note!=null}">
                                    <div id="test${orderItem.ID}">
                                <img onClick="createTextarea('${orderItem.note}','${orderItem.ID}')" src="<c:url value="/images/BO_invoice.gif"/>" style="cursor:hand">
                                    </div>
                                    </c:when>
                                    <c:otherwise>
                                        &nbsp;
                                    </c:otherwise>
                                </c:choose>
                            </td>