<!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>
分享到:
相关推荐
2. **JSON与Ajax的结合**: JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Prototype中,我们可以使用`Prototype.JSON.parse()`来解析JSON字符串为JavaScript对象,`Object.to...
Prototype的Ajax库提供了多种方法,如Ajax.Request和Ajax.Updater,用于创建异步请求,与服务器进行数据交互。在这个例子中,我们将使用Ajax.Request,它允许我们在后台发送HTTP请求,并处理响应。 1. **创建Ajax....
在IT行业中,"prototype+json三级联动"是一个常见的前端开发技术,主要应用于构建具有多级交互功能的用户界面,如下拉菜单、地区选择、商品分类等。在本场景中,我们将探讨如何利用JavaScript的Prototype库和JSON...
开发中用官网上下的json.js的toJSONString()方法总是报没有对象或方法的错误,于是有了这个没有对Object()对象做prototype扩展的json.js
其中,JSON支持是Prototype库的一部分,它允许开发者轻松地进行JSON数据的处理,与json.js和json2.js类似,但它是作为更全面的JavaScript工具集的一部分。 5. prototype.chm:CHM是Microsoft的 Compiled HTML Help ...
在给定的标题“javascript框架(json.jQuery.prototype).rar”中,我们可以推测这是一个关于JavaScript框架,特别是jQuery框架的教程或者参考资料。jQuery是广泛使用的JavaScript库,它简化了JavaScript的许多方面,...
这三者结合在一起,形成了一个集数据处理(JSON)、基础框架(Prototype)和导航控制(Nav)于一体的JavaScript工具包。在实际开发中,这样的组合可以大大提升开发效率,减少代码冗余,使得前端开发者能够快速构建...
地图.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 用于set.prototype.toJSON() ES7 set.prototype.toJSON()安装 $ npm install --save set.prototype.tojson用法 require ( 'set.prototype.tojson' ) ;var mySet = new Set ( ) ;mySet . add ( ...
无论是哪种情况,这个文件都能帮助你进一步了解如何在实际项目中使用JSON与这些库。 总的来说,"json-lib-2.3-jdk15.jar"、"prototype.js"和"jquery-1.3.1.js"都是在Web开发中处理JSON数据的重要工具,它们共同构建...
JSON是互联网上最常用的数据交换格式,尤其在JavaScript与服务器端通信时,它扮演着至关重要的角色。 在JavaScript中,JSON主要由两种类型的数据构成:对象(Objects)和数组(Arrays)。对象是以大括号{}包围的...
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实例中,前端使用Prototype.js发起Ajax请求,向服务器发送JSON数据,或者接收服务器返回的JSON数据。由于JSON是JavaScript的一部分,因此在JavaScript中解析JSON数据非常直观,这使得前后端之间的数据交换...
6. **JSON支持**:Prototype包含了JSON(JavaScript Object Notation)解析和序列化功能,使得JavaScript对象与服务器端的数据交换变得更加便捷。 7. **动画效果**:Prototype还提供了简单的动画功能,如`Effect`...
它还增加了atoJSONString方法和parseJSON方法到Object.prototype。使用thisfile recommended.json_parse.js:该文件包含替代JSON的parse函数thatuses递归下降而不是eval.json_parse_state.js:此文件包含替代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的繁琐问题,可以通过采用javabean模式创建数据封装对象,并结合JavaScript的`prototype`来扩展功能。利用`toJSONObject`这样的辅助函数,可以方便地将复杂的数据结构转换为JSON格式,...
3. **JSON支持**:Prototype内置了JSON的支持,包括JSON的解析和序列化,便于与服务器之间交换数据。 4. **样式和动画**:Prototype的`Effect`模块提供了丰富的动画效果,如淡入淡出、滑动、缩放等,可以轻松实现...
6. **特效与动画**:`PrototypeJS`提供了`Effect`模块,用于创建复杂的视觉效果和动画,如淡入淡出、滑动等,通过`Element`对象的方法如`fadeIn()`, `slideUp()`, `slideDown()`等实现。 7. **Selector引擎**:...
Prototype 内置了对JSON(JavaScript Object Notation)的支持,提供`JSON.stringify()`和`JSON.parse()`方法,用于将JavaScript对象转换为JSON字符串,以及解析JSON字符串为JavaScript对象。 ### 6. Array 和 Hash...