大家好,最近用prototype做项目开发一段时间,最近在使用其ajax方面功能时候出现一个奇怪问题
环境:
prototype1.5.1
业务描述:
做一个搜索功能,需要把根据前端查询条件进行查询结果返回,并把结果用AJAX.Updater方式放到页面指定div中
问题描述:
如果在div有任何元素,在触发AJAX.Updater都会使div元素外的值出现两遍,具体情况如下
<script src="${ctx}/scripts/prototype.js"></script>
<script>
function aa(){
var url = '${ctx}/registerresult.do';
var name22=$F("name2");
var myAjax = new Ajax.Updater(
{success:'brandId'},
url,
{
method: 'post',
parameters:'&name2='+$F("name2"),
onFailure: reportError
});
}
function reportError(){
alert("抱歉,此查询不存在,请重试.");
}
</script>
</head>
function reportError(){
alert("抱歉,此查询不存在,请重试.");
}
</script>
</head>
<body>
<label>
科室
<input type="text" name="name2" />
</label>
<input type="button" οnclick="aa()" value="搜索" />
</p>
<div id="brandId">
<table>
<c:forEach items="${results}" var="result">
<tr>
<td>
<input type="checkbox" name="idd" value="${result[0]}" />
</td>
<td>
${result[1]}
</td>
<td>
${result[2]}
</td>
<td>
${result[3]}
</td>
<td>
${result[4]}
</td>
<td>
${result[5]}
</td>
<td>
${result[6]}
</td>
<td>
${result[7]}
</td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>
<label>
科室
<input type="text" name="name2" />
</label>
<input type="button" οnclick="aa()" value="搜索" />
</p>
<div id="brandId">
<table>
<c:forEach items="${results}" var="result">
<tr>
<td>
<input type="checkbox" name="idd" value="${result[0]}" />
</td>
<td>
${result[1]}
</td>
<td>
${result[2]}
</td>
<td>
${result[3]}
</td>
<td>
${result[4]}
</td>
<td>
${result[5]}
</td>
<td>
${result[6]}
</td>
<td>
${result[7]}
</td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>
在我点击搜索按钮时候,<div id="brandId">之外的页面元素又出现了一遍,页面上有两组完全一样的数据,也就是页面上出现两遍 科室,如果把它放入<div id="brandId">就不出现,但我输入查询值就不存在了,具体看附件,尝试很多方式,都不能解决,麻烦大家给看一下,谢谢