`

Prototype使用Form操作表单和使用Hash对象

阅读更多

先看使用Form操作表单:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Form元素</title>
		<meta name="author" content="Yeeku.H.Lee" />
		<meta name="website" content="http://www.crazyit.org" />
		<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
	</head>
	<body>
		<script src="js/prototype-1.6.0.3.js" type="text/javascript"></script>
		<!-- 被操作的目标表单 -->
		<form id="form1" name="form1" method="post">
			<!-- 定义四个单行文本框 -->
			<input id="text1" name="text1" type="text" />
			<br />
			<input id="text2" name="text2" type="text" />
			<br />
			<input id="text3" name="text3" type="text" />
			<br />
			<input id="text4" name="text4" type="text" value="xxxxxxxxx" />
			<br />
			<select id="st1" name="st1" size="3">
				<option value="java">
					Java
				</option>
				<option value="javaee">
					Java EE
				</option>
				<option value="ajax">
					Ajax
				</option>
			</select>
			<br />
		</form>
		<!-- 下面按钮将所有表单控件的转换成查询字符串 -->
		<input type="button" value="转换查询字符串"
			onclick="alert($('form1').serialize());" />
		<br />
		<!-- 下面按钮将返回表单的第一个有效表单控件 -->
		<input type="button" value="返回第一个有效的表单控件"
			onclick="alert($('form1').findFirstElement());" />
		<br />
		<!-- 下面按钮返回所有表单控件 -->
		<input type="button" value="返回表单的全部表单控件"
			onclick="alert($('form1').getElements());" />
		<br />
		<!-- 下面按钮返回所有input控件 -->
		<input type="button" value="返回表单的全部input"
			onclick="alert($('form1').getInputs());" />
		<br />
		<!-- 下面按钮启用所有表单控件 -->
		<input type="button" value="启用所有表单控件" onclick="$('form1').enable();" />
		<br />
		<!-- 下面按钮禁用所有表单控件 -->
		<input type="button" value="禁用所有表单控件" onclick="$('form1').disable();"/>
		<br />
		<!-- 下面按钮将焦点移动到第一个可视的表单控件 -->
		<input type="button" value="将焦点移动到第一个可视的表单控件"
			onclick="$('form1').focusFirstElement();" />
		<br />
		<!-- 下面按钮将重设表单 -->
		<input type="button" value="重设表单" onclick="$('form1').reset();" />
		<br />
	</body>
</html>
 下面是使用Hash对象的例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Hash对象</title>
		<meta name="author" content="Yeeku.H.Lee" />
		<meta name="website" content="http://www.crazyit.org" />
		<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
	</head>
	<body>
		<script src="js/prototype-1.6.0.3.js" type="text/javascript"></script>
		<script type="text/javascript">
			//定义一个JavaScript对象
			var person = {
				name : 'lbx',
				age : 29
			};
			//将JavaScript对象转换成Hash对象
			var h = $H(person);
			//将Hash对象转换成查询字符串。输出:name=yeeku&age=29
			document.writeln(h.toQueryString() + "<br />");
			//测试merge方法
			var person = {
				name : 'lbx',
				age : 29
			};
			var teacher = {
				name : 'chy',
				gender : 'male'
			};
			//将后一个Hash对象merge到前一个Hash对象中
			var h = $H(person).merge($H(teacher));
			//输出:name=yeeku.H.lee&age=29&gender=male
			document.writeln(h.toQueryString() + "<br />");
			//直接使用JavaScript对象来更新Hash对象
			h.update( {
				age : 30,
				subject : "java"
			});
			//将输出:name=yeeku.H.lee&age=30&gender=male&subject=java
			document.writeln(h.toQueryString() + "<br />");
			//遍历Hash对象的每个key-value对
			h.each(function(pair) {
				document.writeln(pair.key + "-->" + pair.value + "<br />");
			});
		</script>
	</body>
</html>
 

分享到:
评论

相关推荐

    prototype开发笔记.doc

    它包括对JavaScript核心类型和对象的扩展,如Array、String、Function、Number等,并且引入了一些新的概念,如类(Class)和模块(Module)机制,以及强大的DOM操作工具。 1.2. 关联文章 "高级JavaScript指南"可能...

    prototype.js 说明文档.doc

    《prototype.js 说明文档》是关于JavaScript库prototype.js的详细指南,主要涵盖了其核心概念、通用方法以及Ajax对象的使用等内容。Prototype是一个由Sam Stephenson编写的JavaScript库,旨在简化和增强JavaScript...

    prototype.js开发笔记.pdf

    下面是Prototype.js的开发笔记,涵盖了该库的使用指南、Ajax对象、JavaScript类的扩展、对象的扩展、事件处理等多个方面。 一、Programming Guide Prototype.js是一个强大的JavaScript库,提供了许多有用的函数和...

    prototype文档

    Prototype的核心功能包括对基本功能的增强、字符串扩展、枚举类型的处理、数组和哈希操作、范围对象、Ajax交互、DOM操作、CSS选择器支持、表单处理以及事件管理和定位功能。这些模块共同构成了一个全面的工具包,...

    prototype 中文教程PDF

    这一章节重点介绍了 prototype.js 中的 Ajax 相关类和对象,使开发者能够轻松实现异步数据请求。 ##### 3.1 使用 Ajax.Request 类 - **功能描述**:`Ajax.Request` 类用于发起 AJAX 请求。它支持多种请求类型(GET...

    prototype.js开发者手册(中文)

    - **Form.Element 对象**:提供了对表单元素的操作方法。 - **Form.Element.Serializers 对象**:用于序列化表单元素。 - **Abstract.TimedObserver 类**:定时观察表单元素的状态变化。 - **Form.Element.Observer ...

    prototype.js开发手册.pdf

    Prototype为表单和表单元素提供了高级封装,如`Form`、`Form.Element`以及相关的序列化和观察器功能。这些类使得表单数据的处理和验证更加容易。 5. **Event 和 Position** `Event`模块提供了一种统一的方式来...

    prototype 中文API

    `prototype.js` 不仅扩展了现有对象,还定义了许多新的对象和类,如`Ajax`, `Element`, `Form`, `Hash`等,这些类提供了丰富的功能和接口,方便开发者进行复杂的页面操作。 #### 六、Position对象 虽然文档提到...

    prototype1.4中文手册

    这部分深入介绍了 Prototype 库中的各种扩展和对象。 ##### 5.1 JavaScript 类扩展 - **对 Object 的扩展**:增加了 `extend`, `observe`, `stopObserving`, `connect`, `disconnect`, `inspect` 等方法。 - **对 ...

    prototype.js开发笔记.doc

    Prototype.js 扩展了JavaScript的许多内置类型和对象,包括: - **JavaScript 类的扩展**:例如,Class对象允许创建自定义的面向对象构造函数。 - **Object类的扩展**:增加了如`extend()`等方法,用于对象属性的...

    Developer Notes for prototype.doc

    Prototype 提供了枚举的功能,使你可以使用 Ruby 风格的迭代来处理数组和对象。 **示例代码**: ```javascript [1, 2, 3].each(function(item) { console.log(item); }); ``` ##### 数组增强 Prototype 扩展了...

    Prototype学习资料

    10. **Form**: 包含了一系列与表单相关的功能,如数据验证和操作,提高了表单处理的效率。 11. **Event**: 简化了事件处理,提供了一套跨平台的事件封装机制,便于事件监听和触发。 12. **Position**: 提供了元素...

    prototype.js开发手册

    根据提供的信息,我们可以详细解析《prototype.js开发手册》的关键知识点。 ### Programming Guide ...这些内容为初学者提供了必要的理论基础和技术实践指导,有助于更好地理解和应用Prototype库。

    Prototype最新版(1.5 rc2)使用指南(1)

    10. **Form**:处理表单相关的功能,使表单操作更为简便。 11. **Event**:提供了简单的跨平台事件处理,统一了不同浏览器下的事件监听。 12. **Position**:提供元素定位的相关功能,帮助处理页面布局问题。 ...

    超级有影响力霸气的Java面试题大全文档

    此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),...

    java面试宝典

    18、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 9 19、是否可以继承String 类? 9 20、以下二条语句返回值为true 的有: 10 21、当一个对象被当作参数传递到一个方法后,此方法可...

Global site tag (gtag.js) - Google Analytics