ajax实现Dig程序中的投票

作者:无情 来源:设计家园 时间:2008-01-22 17:27:00 

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));}

标签:ajax,投票,dig
0
投稿

猜你喜欢

  • 如何把数据库的记录输出到表格去?

    2009-11-06 13:37:00
  • Microsoft VBScript 运行时错误 错误800a0005 无效的过程调用或参数

    2010-03-25 21:51:00
  • 用err.raise自定义错误信息

    2008-02-20 12:48:00
  • 也说说语义

    2009-12-29 13:04:00
  • CSS设计之如何让数字字母自动换行

    2007-10-19 15:12:00
  • 前端开发中一些常用技巧总结

    2010-07-18 13:13:00
  • 解决IE下提示“无法打开Internet站点 已终止操作”的错误

    2009-03-04 12:04:00
  • HTML5本地存储初探(三)

    2010-03-07 15:49:00
  • Form Post提交容量大的数据

    2011-03-31 10:53:00
  • 在不能中寻找可能 QZONE个性相册设计的始末

    2009-07-13 12:27:00
  • web标准:CSS clear的属性及使用方法

    2008-10-27 13:31:00
  • js和asp操作fso比较

    2007-09-23 09:17:00
  • 一个将半角"转换为中文"的asp函数

    2007-09-19 11:47:00
  • 内联格式化模式(line-height原理)

    2008-06-29 14:37:00
  • asp用正则解析远程图片地址,用XMLHTTP将其保存

    2007-10-26 12:34:00
  • asp如何正确理解和使用Command、Connection和 Recordset三个对象?

    2010-06-28 18:23:00
  • 分享css处理浏览器兼容问题上的小技巧

    2008-02-03 14:41:00
  • SQL Server自动更新统计信息的基本算法

    2012-10-07 11:02:50
  • JS+ASP实现无刷新新闻列表之分页

    2007-08-22 12:57:00
  • asp网上购物车实例代码

    2007-10-03 13:43:00
  • asp之家 网络编程 m.aspxhome.com