ajax实现Dig程序中的投票
作者:无情 来源:设计家园 发布时间:2008-01-22 17:27:00
标签:ajax,投票,dig
asp+js做的一个dig程序中的投票(有的叫顶一下,踩一下),由于代码较长,只贴出核心部分:投票中的代码
相关文章推荐:ajax +asp 星级投票/留言系统
网页显示投票的部分:
<div class="Vote1"><script src='/voteResult.asp?id=1&action=view'></script></div>
效果如图:,然后点投一票,票数增加1,如图:
voteResult.asp代码
<%
Response.ContentType="text/html; charset=gb2312"
'链接数据库代码省略
set rs=server.createobject("adodb.recordset")
sql=("select news_id,vote from dwww_news where news_id="&request("id")&"")
rs.open sql,conn,1,1
if not rs.eof and not rs.bof Then '先检查传过来的id是否正确
if request("action")="view" Then '如果是新闻代码中传来的id
if instr(request.Cookies("voteid"),request("id")&"|")<>0 Then '判断该id的新闻是否投过票
response.write "document.write (""<div class='result' id='result_"&rs("news_id")&"'>"&rs("vote")&"</div>"");"
response.write "document.write (""<span class='result_link' id='result_link_"&rs("news_id")&"'>投票成功</span>"");"
else
response.write "document.write (""<div class='result' id='result_"&rs("news_id")&"'><a href='javascript:dovote("&request("id")&")'>"&rs("vote")&"</a></div>"");"
response.write "document.write (""<span class='result_link' id='result_link_"&rs("news_id")&"'><a href='javascript:dovote("&request("id")&")'>投一票</a></span>"");"
end if
Else '点击投票处理代码
if instr(request.Cookies("voteid"),request("id")&"|")<>0 then
Response.Cookies("voteid")=request("id")&"|"
Response.Cookies("voteid").Expires=Date()+365
else
Response.Cookies("voteid")=request("id")&"|"&request.Cookies("voteid")
Response.Cookies("voteid").Expires=Date()+365
end If
vote=rs("vote")+1
conn.execute ("update dwww_news set vote=vote+1 where news_id="&request("id")&"")
response.write ""&vote&""
end If
end if
rs.close()
Set rs=Nothing
'关闭数据库代码省略
%>
其中程序中用到的css代码:
voteBg.gif 图片:520)this.width=500" border=0>
.Vote1{float:left;width:54px;height:71px;background:url(/images/voteBg.gif);margin:0 5 0 0;text-align:center; }
.DivAllShow2 .Vote1{float:left;width:54px;height:71px;background:url(/images/voteBg.gif);margin:6 5 0 0;text-align:center; }
.vote1 div{height:44px;line-height:44px;font-size:18px; font-weight:bold;font-family:Georgia;color:#333333;}
.result a:link{font-size:18px; font-weight:bold;text-decoration:none;}
.result a:visited {font-size:18px; font-weight:bold;text-decoration:none;}
.result a:hover {font-size:18px; font-weight:bold;text-decoration:none;}
.Vote1 span{height:20px;line-height:20px;color:#CE4A02;margin:5 0 0 0;}
.result_link a:link{color:#CE4A02;text-decoration:none;}
.result_link a:visited {color:#CE4A02;text-decoration:none;}
.result_link a:hover {color:#CE4A02;text-decoration:none;}
js代码:
var http_request = false;
function send_request(url,votei) {//初始化、指定处理函数、发送请求的函数
http_request = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
http_request.onreadystatechange = function(){processRequest(votei)};
// 确定发送请求的方式和URL以及是否同步执行下段代码
http_request.open("post", url, true);
http_request.send(null);
}
// 处理返回信息的函数
function processRequest(votei) {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
//alert(http_request.responseText);
document.getElementById('result_'+votei).innerHTML=http_request.responseText;;
document.getElementById('result_link_'+votei).innerHTML = "投票成功";
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
function dovote(votei)
{
var votei=votei;
send_request('/voteResult.asp?id='+escape(votei),votei);
}
function getObj(objName){return(document.getElementById(objName));}


猜你喜欢
- 代码如下:CREATE FUNCTION dbo.f_splitstr( @str varchar(8000) )RETURNS
- “In the latest release 10.2 Oracle changed these default values. The m
- 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称
- 官方实现golang 1.8 及以上版本提供了一个创建共享库(shared object)的新工具,称为 Plugins。目前 Plugin
- 还记得曾经被“滑稽”刷屏的场景吗?在这个各种表情包横行的时代,emoji表情还能依然占据一定的地位!这篇文章将带你了解一下,python与e
- 内容摘要:浏览器不兼容这个难题,一直是网页设计师们头痛的事情。ie7.0的面世,尚且不论他是否较之ie6.0进步, ie7和ie6
- StreamReader sr = new StreamReader("E:\\123.txt");//文件路径 str
- 1. 在linux上安装psiblast最好新建一个python环境,因为我发现conda安 * last默认的是python==3.6.11
- 数据库设计(Database Design)的概念:数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之
- 在python中,我们定义好一个字符串,如下所示。在python中定义个字符串然后把它赋值给一个变量。我们可以通过下标访问单个的字符,跟所有
- 你用过css么?当然,我是指你喜欢做网页的话,用过?很好,那你用过它的特效么?没有?那请跟我来。让我先通俗的介绍一下css,cs
- 找了国内30个比较著名的网站的注册表单做样本,对标签和输入区对齐方式做了统计,得到了一个结论:标签水平右对齐更适合中文网站,或者说右对齐更适
- 具体代码如下所示:package mainimport ( "bufio" "io&q
- 前几天,杨超越编程大赛火了,大家都在报名参加,而我也是其中的一员。在我们的项目中,我负责的是数据爬取这块,我主要是把对于杨超越 的
- 最近用php进行文件目录信息读取,在网上弄到下面一段代码://获取指定目录下的文件列表//$path 指定的目录,默认为当前目录//$ifc
- 一行代码对话ChatGPT最近ChatGPT火爆全球,哪怕你不是程序员,应该也听过他的大名了。今天我们就来一起体验一下~1行Python代码
- 问题一:安装模块时出现报错 Microsoft Visual C++ 14.0 is required,也下载安装了运行库依然还是
- 本文实例讲述了Python基于socket模块实现UDP通信功能。分享给大家供大家参考,具体如下:一 代码1、接收端import socke
- 将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。应用场景:希望复用一些现存的类,但是接
- 很多时候,查看一个文件夹下的每个文件大小可以轻易的做到,因为文件后面就是文件尺寸,但是如果需要查看一个文件夹下面所有的文件夹对应的尺寸,就发