`
tianmingqi
  • 浏览: 118596 次
  • 性别: Icon_minigender_1
  • 来自: 河南郑州
社区版块
存档分类
最新评论

prototype与json

阅读更多
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<script language="javascript" type="text/javascript"  src="javascripts/prototype.js"></script>
	<script language="javascript" type="text/javascript"  src="javascripts/window.js"></script>
	<script language="javascript" type="text/javascript"  src="javascripts/effects.js"></script>
	
	<link href="css/themes/default.css" rel="stylesheet" type="text/css" />
  	<link href="css/themes/spread.css" rel="stylesheet" type="text/css" />
  	<link href="css/themes/alert.css" rel="stylesheet" type="text/css" />
  	<link href="css/themes/alert_lite.css" rel="stylesheet" type="text/css" />
  	<link href="css/themes/alphacube.css" rel="stylesheet" type="text/css" />
  	<link href="css/themes/debug.css" rel="stylesheet" type="text/css" />
</head>

<body>


<div id="login" style="display:none">
  <p><span id='login_error_msg' class="login_error" style="display:none"> </span></p>
  <div style="clear:both"></div>
  <p><span class="login_label">交纳资费金额:</span> <span class="login_input"><input type="text" name="name" size="10" />(元)</span></p>
  <div style="clear:both"></div>
  <p><span class="login_label">服务终止时间:</span> <span class="login_input"><input type="text" name="pass" size="20"/>(如2008-8-8)</span></p>
  <div style="clear:both"></div>
</div>


<!-- ------------------------------e ------------------------- -->

<table width="800" border="0" align="center">
  <tr>
    <td><b>单位名称</b></td>
    <td><b>注册时间</b></td>
    <td><b>会员类型</b></td>
    <td ><b>操作</b></td>
  </tr>
  <tr id="3">
    <td><div>豪杰科技</div></td>
    <td><div>2006-5-8</div></td>
    <td><div>普通单位</div></td>
    <td>
    	<button  id="delete" value="3" >删除</button>
    	<button  id="vip" value="3" >设为VIP</button>
    	<button  id="huiyuan" value="3" >设为会员</button>
    	<button  id="normal" value="3" style="display:none">设为普通</button>
    </td>
  </tr>
  
    <tr id="4">
    <td><div>豪杰科技</div></td>
    <td><div>2006-5-8</div></td>
    <td><div>VIP单位</div></td>
    <td>
    	<button  id="delete" value="4">删除</button>
    	<button  id="vip" value="4" style="display:none">设为VIP</button>
    	<button  id="huiyuan" value="4" >设为会员</button>
    	<button  id="normal" value="4" >设为普通</button>
    </td>
  </tr>
  <tr>
  </tr>
</table>

<!--  注册事件  -->
<script type="text/javascript">
		//当页面加载完毕后调用事件注册函数
		Event.observe(window, 'load',function(){
			//为所有的按钮注册事件
			$$('button').each(function(item){
				var type = item.readAttribute('id');
				if(type == 'delete'){//如果是删除按钮事件
					item.observe('click', doDelete);
				}else if(type == 'vip'){//如果是vip按钮事件
					item.observe('click', doVIP);
				}else if(type == 'huiyuan'){//如果是普通会员按钮
					item.observe('click', doHuiyuan);
				}else if(type == 'normal'){
					item.observe('click', doNormal);
				}
			});									  
		});
</script>

<!-- ---------------------提升为会员 ------------------------- -->
<script type="text/javascript">
function doHuiyuan(event){
	var element = Event.element(event);
	Dialog.confirm($('login').innerHTML,
						 {className:"alphacube", width:400, 
                                      okLabel: "确定", cancelLabel: "取消",
                                      onOk:function(win){
											startHuiyuanAjax(element);
											return true;	
									   }
						}
	);
}
//开始ajax
function startHuiyuanAjax(element){
	new Ajax.Request('JSONExample.action',
    {     method:'get',
    	 //requestHeaders: {Accept: 'application/json'}, 
   		 parameters: {id: element.readAttribute('value'),name: $F('name'), pass: $F('pass')},
         onSuccess: function(transport){
		        var response = transport.responseText.evalJSON(true); 
		        var flag=   response.login;
		        if(flag){
		        	var tds=$(element.readAttribute('value')).childElements();
		        	var td3=tds.first().next(1);
		        	var divs3=td3.childElements().first();
		        	divs3.replace('<div>会员单位</div>');
		        	 
		        	element.previous(0).show(); 
		        	element.next(0).show();
		        	element.hide();
		        	alert("OK , 操作成功!");
		        }else{
		        	alert("操作失败!");
		        }
		},
	     onFailure: function(){ 
		 		alert('可能后台出现了错误...'); 
		}
    });
}
</script>

<!-- -----------------------提升为VIP-------------------------------- -->

<script type="text/javascript">

function doVIP(event){
	var element = Event.element(event);
	Dialog.confirm($('login').innerHTML,
						 {className:"alphacube", width:400, 
                                      okLabel: "确定", cancelLabel: "取消",
                                      onOk:function(win){
											startVIPAjax(element);
											return true;	
									   }
						}
	);
}
//开始ajax
function startVIPAjax(element){
	
	new Ajax.Request('JSONExample2.action',
    {     method:'get',
    	 //requestHeaders: {Accept: 'application/json'}, 
   		 parameters: {id: element.readAttribute('value'),name: $F('name'), pass: $F('pass')},
         onSuccess: function(transport){
		        var response = transport.responseText.evalJSON(true); 
		        var flag=response.login;
		        if(flag){
		        	var tds=$(element.readAttribute('value')).childElements();
		        	var td3=tds.first().next(1);
		        	var divs3=td3.childElements().first();
		        	divs3.replace('<div>VIP单位</div>');
		        	
		        	//alert(element.readAttribute('id'));
		        	element.next(0).show();
		        	element.next(1).show();
		        	element.hide();
		        	alert("OK , 操作成功!");
		        }else{
		        	alert("操作失败!");
		        }
		},
	     onFailure: function(){ 
		 		alert('可能后台出现了错误...');
		}
    });
}
</script>

<!--  -------------------降级为普通会员---------------------------  -->

<script type="text/javascript">

function doNormal(event){
	if(! confirm("将会降低客户的服务范围,确定这样做吗?")){return ;}//提示
	var element = Event.element(event);
	
	
	new Ajax.Request('JSONExample2.action',
    {     method:'get',
    	 //requestHeaders: {Accept: 'application/json'}, 
   		 parameters: {id: element.readAttribute('value')},
   		 
         onSuccess: function(transport){
		        var response = transport.responseText.evalJSON(true); 
		        var flag=response.login;
		        if(flag){
		        	var tds=$(element.readAttribute('value')).childElements();
		        	var td3=tds.first().next(1);
		        	var divs3=td3.childElements().first();
		        	divs3.replace('<div>普通单位</div>');
		        	
		        	//alert(element.readAttribute('id'));
		        	element.previous(0).show();
		        	element.previous(1).show();
		        	element.hide();
		        	
		        	
		        	alert("OK , 操作成功!");
		        }else{
		        	alert("操作失败!");
		        }
		},
	     onFailure: function(){ 
		 		alert('可能后台出现了错误...');
		}
    });
}
</script>


<!-- ------------------删除操作------------------------- -->
	<script type="text/javascript">
		var timeout;
		var theNode2;
		function doDelete(event) {
			if(! confirm("删除将不可恢复,确定要删除吗?")){return ;}//提示
			theNode2=Event.element(event);
			timeout=1;//设置为等待1秒
			Dialog.info("正在删除..." + timeout + "秒",
               {width:110, height:40, showProgress: true});

			setTimeout(infoTimeout, 1000)
		}
		
		function infoTimeout() {
			timeout--;
			if (timeout >=0) {
			Dialog.setInfoMessage("正在删除..." + timeout + "秒");
			setTimeout(infoTimeout, 1000);
			}else{
  				Dialog.closeInfo();
  				$(theNode2.readAttribute('value')).remove();
  				alert('操作成功!');
			}
		}
	</script>
</body>
</html>

 

分享到:
评论

相关推荐

    prototype笔记(9)----结合Prototype和JSON开发AJAX

    2. **JSON与Ajax的结合**: JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Prototype中,我们可以使用`Prototype.JSON.parse()`来解析JSON字符串为JavaScript对象,`Object.to...

    prototype整合json实现无刷新验证用户名

    Prototype的Ajax库提供了多种方法,如Ajax.Request和Ajax.Updater,用于创建异步请求,与服务器进行数据交互。在这个例子中,我们将使用Ajax.Request,它允许我们在后台发送HTTP请求,并处理响应。 1. **创建Ajax....

    prototype+json三级联动

    在IT行业中,"prototype+json三级联动"是一个常见的前端开发技术,主要应用于构建具有多级交互功能的用户界面,如下拉菜单、地区选择、商品分类等。在本场景中,我们将探讨如何利用JavaScript的Prototype库和JSON...

    json.js没有对Object()对象做prototype扩展的json.js

    开发中用官网上下的json.js的toJSONString()方法总是报没有对象或方法的错误,于是有了这个没有对Object()对象做prototype扩展的json.js

    json.js,json2.js,json.jar,prototype.js,prototype.chm

    其中,JSON支持是Prototype库的一部分,它允许开发者轻松地进行JSON数据的处理,与json.js和json2.js类似,但它是作为更全面的JavaScript工具集的一部分。 5. prototype.chm:CHM是Microsoft的 Compiled HTML Help ...

    javascript框架(json.jQuery.prototype).rar

    在给定的标题“javascript框架(json.jQuery.prototype).rar”中,我们可以推测这是一个关于JavaScript框架,特别是jQuery框架的教程或者参考资料。jQuery是广泛使用的JavaScript库,它简化了JavaScript的许多方面,...

    json+prototype+nav 的js文件包

    这三者结合在一起,形成了一个集数据处理(JSON)、基础框架(Prototype)和导航控制(Nav)于一体的JavaScript工具包。在实际开发中,这样的组合可以大大提升开发效率,减少代码冗余,使得前端开发者能够快速构建...

    Map.prototype.toJSON:ES7 Map.prototype.toJSON polyfill

    地图.prototype.tojson ES7 map.prototype.tojson polyfill安装 $ npm install --save map.prototype.tojson用法 require ( 'map.prototype.tojson' ) ;var myMap = new Map ( ) ;myMap . set ( NaN , "not a number...

    Set.prototype.toJSON:ES7 `Set.prototype.toJSON` polyfill

    set.prototype.tojson 用于set.prototype.toJSON() ES7 set.prototype.toJSON()安装 $ npm install --save set.prototype.tojson用法 require ( 'set.prototype.tojson' ) ;var mySet = new Set ( ) ;mySet . add ( ...

    json-lib-2.3-jdk15.jar包和prototype.js及jquery-1.3.1.js

    无论是哪种情况,这个文件都能帮助你进一步了解如何在实际项目中使用JSON与这些库。 总的来说,"json-lib-2.3-jdk15.jar"、"prototype.js"和"jquery-1.3.1.js"都是在Web开发中处理JSON数据的重要工具,它们共同构建...

    json for javascript

    JSON是互联网上最常用的数据交换格式,尤其在JavaScript与服务器端通信时,它扮演着至关重要的角色。 在JavaScript中,JSON主要由两种类型的数据构成:对象(Objects)和数组(Arrays)。对象是以大括号{}包围的...

    JSON2.JS JSON.JS JSON_PARSE.JS

    toJSONString method and a parseJSON method to Object.prototype. Use of this file is not recommended. json_parse.js: This file contains an alternative JSON parse function that uses recursive descent ...

    Ajax + JSON + Servlet + prototype.js(实现的一个Ajax实例)

    在这个Ajax实例中,前端使用Prototype.js发起Ajax请求,向服务器发送JSON数据,或者接收服务器返回的JSON数据。由于JSON是JavaScript的一部分,因此在JavaScript中解析JSON数据非常直观,这使得前后端之间的数据交换...

    Prototype-1.6.0 中文版\英文版\Prototype.js

    6. **JSON支持**:Prototype包含了JSON(JavaScript Object Notation)解析和序列化功能,使得JavaScript对象与服务器端的数据交换变得更加便捷。 7. **动画效果**:Prototype还提供了简单的动画功能,如`Effect`...

    json2 json

    它还增加了atoJSONString方法和parseJSON方法到Object.prototype。使用thisfile recommended.json_parse.js:该文件包含替代JSON的parse函数thatuses递归下降而不是eval.json_parse_state.js:此文件包含替代JSON的...

    json常用方法,json解析

    Date.prototype.toJSON = function (key) { function f(n) { return n ; } return this.getUTCFullYear() + '-' + f(this.getUTCMonth() + 1) + '-' + f(this.getUTCDate()) + 'T' + f(this.getUTCHours()) ...

    解决javascript组装json的繁琐问题

    总结,解决JavaScript组装JSON的繁琐问题,可以通过采用javabean模式创建数据封装对象,并结合JavaScript的`prototype`来扩展功能。利用`toJSONObject`这样的辅助函数,可以方便地将复杂的数据结构转换为JSON格式,...

    prototype从入门到精通

    3. **JSON支持**:Prototype内置了JSON的支持,包括JSON的解析和序列化,便于与服务器之间交换数据。 4. **样式和动画**:Prototype的`Effect`模块提供了丰富的动画效果,如淡入淡出、滑动、缩放等,可以轻松实现...

    prototype_PrototypeJS1.6_

    6. **特效与动画**:`PrototypeJS`提供了`Effect`模块,用于创建复杂的视觉效果和动画,如淡入淡出、滑动等,通过`Element`对象的方法如`fadeIn()`, `slideUp()`, `slideDown()`等实现。 7. **Selector引擎**:...

    Prototype中文帮助文档

    Prototype 内置了对JSON(JavaScript Object Notation)的支持,提供`JSON.stringify()`和`JSON.parse()`方法,用于将JavaScript对象转换为JSON字符串,以及解析JSON字符串为JavaScript对象。 ### 6. Array 和 Hash...

Global site tag (gtag.js) - Google Analytics