JSP中调用js时报undefined错误
2016-07-09 20:34
260 查看
网页内容大致如下:
一个大的div,其中包括一个表格table,一个小div。table的charge_id字段为超链接,此超链接访问数据库返回结果是一个jsp子网页,此子网页展示在小的div中。
网页的伪代码放最后边了。
现象描述:点击表格第一行的charge_id时结果正常返回并显示,但是点击表格中其他的charge_id时会有undefined错误。
分析结果:超链接返回的jsp子网页中也有js,且当时图省事函数名没有改(自以为是的以为是两个jsp页面,重名没事),现在想来实际上是一个页面,因为子网页是属于主网页的一个小div里。加载js的时候,重名的函数会覆盖掉主网页中的js函数,所以表格中的超链接信息就会丢失,访问不到。
简单粗暴一点就是:同一个网页中不能有重名的js函数,多么深痛&&幼稚的领悟~~~~~
<script>
function showDetail(charge_id){
alert("sub"+charge_id);
$("#test").load('<%=basePath%>fun.do?topic=conditionsearch_TF_B_ACCESSLOG&tablename=tf_b_accesslog'+'&idtype=charge_id'+'&id='+charge_id+'&cycleid=NOCYCLEITSAHREF');
}
</script>
<div id="list" class="col-xs-12">
//part1====表格
<table class="table" style="width: 2500px;">
<thead>
<tr>
<th>CHARGE_ID</th>
<th>REMARK</th>
</tr>
</thead>
<tbody>
<c:forEach items="${LOGs}" var="i" varStatus="varStatus">
<tr <c:if test="${varStatus.count%2==0}">class="info"</c:if>>
<td><span onclick="javascript:showDetail('${i.CHARGE_ID}')">${i.CHARGE_ID}</span></td>
<td>${i.REMARK}</td>
</tr>
</c:forEach>
</tbody>
</table>
//part2=======小div
<div id="test"></div>
</div>
一个大的div,其中包括一个表格table,一个小div。table的charge_id字段为超链接,此超链接访问数据库返回结果是一个jsp子网页,此子网页展示在小的div中。
网页的伪代码放最后边了。
现象描述:点击表格第一行的charge_id时结果正常返回并显示,但是点击表格中其他的charge_id时会有undefined错误。
分析结果:超链接返回的jsp子网页中也有js,且当时图省事函数名没有改(自以为是的以为是两个jsp页面,重名没事),现在想来实际上是一个页面,因为子网页是属于主网页的一个小div里。加载js的时候,重名的函数会覆盖掉主网页中的js函数,所以表格中的超链接信息就会丢失,访问不到。
简单粗暴一点就是:同一个网页中不能有重名的js函数,多么深痛&&幼稚的领悟~~~~~
<script>
function showDetail(charge_id){
alert("sub"+charge_id);
$("#test").load('<%=basePath%>fun.do?topic=conditionsearch_TF_B_ACCESSLOG&tablename=tf_b_accesslog'+'&idtype=charge_id'+'&id='+charge_id+'&cycleid=NOCYCLEITSAHREF');
}
</script>
<div id="list" class="col-xs-12">
//part1====表格
<table class="table" style="width: 2500px;">
<thead>
<tr>
<th>CHARGE_ID</th>
<th>REMARK</th>
</tr>
</thead>
<tbody>
<c:forEach items="${LOGs}" var="i" varStatus="varStatus">
<tr <c:if test="${varStatus.count%2==0}">class="info"</c:if>>
<td><span onclick="javascript:showDetail('${i.CHARGE_ID}')">${i.CHARGE_ID}</span></td>
<td>${i.REMARK}</td>
</tr>
</c:forEach>
</tbody>
</table>
//part2=======小div
<div id="test"></div>
</div>
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- JavaScript演示排序算法
- JSP/PHP基于Ajax的分页功能实现
- javascript实现10进制转为N进制数
- 5个常见可用性错误和解决方案
- 开发阶段Jetty运行Jsp报错且响应空白
- 最后一次说说闭包
- Ajax
- js数组实现图片轮播
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块