大家好,最近用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>
<body>
<label>
科室
<input type="text" name="name2" />
</label>
<input type="button" onclick="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">就不出现,但我输入查询值就不存在了,具体看附件,尝试很多方式,都不能解决,麻烦大家给看一下,谢谢
- 大小: 48.3 KB
分享到:
相关推荐
Ajax.updater是Prototype JavaScript库中的一个关键功能,用于实现页面的部分更新,无需刷新整个页面即可获取新数据。这种技术在Web开发中被称为异步JavaScript和XML(Ajax),尽管现在更常见的是与JSON或其他数据...
Prototype通过`Ajax`类封装了这一技术,包括`Ajax.Request`、`Ajax.Updater`和`Ajax.PeriodicalUpdater`等方法,使得创建异步请求变得简单直观。 总结来说,这个压缩包是学习和使用Prototype JavaScript库的宝贵...
在JavaScript的世界里,Prototype库是一个不可或缺的重要组成部分,尤其在Web开发领域,它为开发者提供了强大的功能和便利性。Prototype_1.7.3.js是这个库的一个重要版本,它的出现无疑为前端开发带来了新的里程碑。...
在JavaScript的世界里,Prototype是一个非常著名的库,它扩展了JavaScript的基本对象,并且提供了一系列实用的函数,使得开发者在处理DOM操作、AJAX交互等方面的工作变得更加简单。本案例将重点探讨如何利用...
7. **Prototype的Ajax**:Prototype库提供了一个强大的Ajax模块,包括`Ajax.Request`用于发起请求,`Ajax.Updater`用于更新页面内容。它还提供了一些便利的选项和事件处理,使开发更加灵活。 8. **应用场景**:Ajax...
此外,`Ajax.Updater`是一个特殊版本的`Ajax.Request`,它不仅可以发送请求,还可以将服务器的响应直接更新到指定的DOM元素中: ```javascript new Ajax.Updater('target_element_id', 'url_to_server', { method:...
2.8. 在 prototype.js中定义的新对象和类 2.9. PeriodicalExecuter 对象 2.10. Prototype 对象 2.11. Class 对象 2.12. Ajax 对象 2.13. Ajax.Base 类 2.14. Ajax.Request 类 2.15. options 参数对象 2.16. Ajax....
Prototype是JavaScript的一个扩展库,它为JavaScript语言引入了许多面向对象的特性,使得在JavaScript中进行面向对象编程变得更加容易和高效。Prototype的主要功能包括: 1. **类和继承**:Prototype通过模拟类的...
Prototype库是JavaScript的一个强大扩展,它提供了一系列实用的函数,简化了DOM操作,增强了JavaScript的面向对象编程能力,并且在Ajax交互方面有着出色的表现。 在JavaScript部分,Prototype的核心在于它的对象...
Prototype是一个强大的JavaScript库,它为开发者提供了许多便利的工具,其中包括对Ajax操作的简化。在"使用prototype简化Ajax操作"这个主题中,我们将深入探讨Prototype库如何使Ajax变得更加简单易用。 首先,...
在Prototype 1.6.0.3中,一个关键的特性是`Class`系统,它模仿了传统的面向对象编程语言中的类定义。开发者可以通过`Class.create`方法创建新的类,并使用`extend`方法实现继承。此外,Prototype还支持`prototypal ...
### Prototype框架概览 #### 一、Prototype框架简介 **Prototype** 是一款JavaScript库,它为Web开发提供了强大的工具集,...对于想要深入了解Ajax及JavaScript Web开发的人来说,Prototype仍然是一个不错的选择。
Prototype的Ajax模块提供了一系列实用的类和方法,如`new Ajax.Request(url, options)`用于发起HTTP请求,`new Ajax.Updater(container, url, options)`用于更新指定容器的内容。这些方法支持异步通信,使页面能够在...
`Ajax.Updater`是Prototype框架中用于动态更新页面元素内容的一个非常实用的方法。它接受三个参数: 1. **容器ID**:指定需要更新的HTML元素ID。 2. **URL**:发送Ajax请求的目标URL。 3. **选项对象**:一个可选的...
`Ajax.Responders`是一个注册器,允许你定义全局的回调函数,处理所有Ajax请求的状态变化,如开始、完成、错误等。 6. **模拟表单提交**: Prototype可以很容易地模拟HTML表单的提交,将表单数据通过Ajax发送到...
总结,Prototype.js作为一个强大的JavaScript库,它通过丰富的API和面向对象的设计模式,为JavaScript开发带来了很多便利。无论是对于初学者还是经验丰富的开发者,理解并掌握Prototype.js都能提升开发效率,丰富Web...
本示例将探讨如何使用Prototype库进行Ajax交互,通过`AjaxServlet.java`(一个Java后端处理程序)和`ajax2.jsp`(一个JSP页面,用于展示Ajax请求的结果)来实现这一功能。 首先,我们来看`AjaxServlet.java`。这是...
"Prototype-1.6.0.2" 是 Prototype JavaScript 框架的一个版本,这个框架在Web开发领域中被广泛使用,特别是在AJAX应用中。Prototype 提供了一系列强大的工具,帮助开发者更高效地操作和扩展JavaScript,使得在...
Prototype.js提供了一个强大的Ajax对象,以帮助开发者快速构建基于Ajax的Web应用程序。 1.4.1.使用Ajax.Request类 Ajax.Request类用于发送Ajax请求。 1.4.2.使用Ajax.Updater类 Ajax.Updater类用于更新页面中的...
Prototype.js 是一个广泛使用的JavaScript库,它为JavaScript编程提供了丰富的功能和便利,旨在简化和优化在浏览器环境中进行的脚本编写。1.6.0.3 版本是该库的一个稳定版本,它包含了对先前版本的改进和修复,以...