📄 showall_xml.php
字号:
<?php
header( "Content-type: text/html; charset=gbk");
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
?>
<?php
require("inc/header.inc");
?>
<div id="confirm" style="display:none;width:200px;height:100px;background-color:#77c;z-index:11;position:absolute;text-align:center;filter:alpha(opacity=80); -moz-opacity:0.80; opacity:0.80;" rel="drag" onmousedown="dargit(this,event);"></div>
<div id="mask" style="display:none;width:99% !important;width:100%;height:100%;background-color:gray;position:absolute;filter:alpha(opacity=40); -moz-opacity:0.40; opacity:0.40;z-index:10;"> </div>
<h3>Ajax xmlhttp无刷新提交帖子实例:</h3><a href="test.php">返回发帖</a>
本例删除帖子采用Ajax处理XML数据的方式。
<a href="showall_js.php" >查看/删除留言(Ajax/JS)</a> <b>查看/删除留言(Ajax/XML)</b> <a href="showall_normal.php" >查看/删除留言(传统)</a>
<style>
#ul{clear:both;border-top:1px solid gray;padding-bottom:20px;width:98%;padding:5px;}
#ul div{list-style-type:none;float:left;margin-right:10px;word-break:break-all;word-wrap:break-word;}
.del{width:10px;}
.uli0{width:10px;}.uli1{width:40px;}.uli2{width:150px}.uli3{width:30%}.uli4{width:80px;}.uli5{width:100px;}.uli6{width:50px;}.uli7{width:150px;}.uli8{width:50px;}.uli9{width:40px;}
.tip{background-color:green;color:white}
#tip{margin:4px 0 2px 0;line-height:18px;font-size:12px;}
#con table{border:1px solid blue;border-bottom:0;}
#con table tr{background-color:;}
#con table tr td{border-bottom:1px solid blue;padding:5px;font-size:12px;}
#con table tr td a{display:;width:100%;}
#confirm a{color:white}
#confirm .text{font-size:12px;color:white;margin:10px;}
.da{width:100%;height:20px;background-color:#000080;color:white;cursor:move;text-align:left}
.showall{color:blue;text-decoration:underline;cursor:hand;cursor:pointer}
.x{float:right;color:red;cursor:pointer;}
a{margin:1px;color:blue}
a:link{}
a:hover{background-color:#E3E2FE;;border-bottom:1px dashed blue;text-decoration:none}
</style>
<?php
require("login/login.php");
?>
<div id="tip" > </div>
<script src="js/drag.js"></script>
<script src="js/net.js"></script>
<script src="js/showmore.js"></script>
<script src="js/page.js"></script>
<script src="js/check.js"></script>
<script src="js/settable.js"></script>
<form action="action/delmessage_ajax.php" method="post" >
<div id="con">
</div>
</form>
<script>
/***********/
/* cody by jarry
/* http://jiarry.blogchina.com;
/***********/
String.prototype.trim = function()
{ return this.replace(/(^\s*)|(\s*$)/g, "");}
function $(id){
var o=document.getElementById(id);
if((o==null || typeof(o)=="undefined") && document.all)o=document.all.id;
return o;
}
function closeconfirm(){
$("confirm").style.display="none";
$("mask").style.display="none";
}
window.onresize=function(){
if( $("confirm").style.display != "none" )setposition($("confirm"));
//实时控制确认框的位置;
}
function del(obj){
var params=""; //定义传递参数;
if( (obj == undefined || obj == null) && this.f){//如果是多选
thisform = this.f; obj = "";
var url=thisform.action;
for(var i=0;i<thisform.elements.length;i++){
var elem=thisform.elements[i];
if(elem.checked == true){
params +=( elem.name.trim() +"="+ elem.value.trim() + "&");
obj += (parseInt(elem.value)+1);//显示的时候要加1
obj += ",";//添加逗号
}
}
obj = obj.substring(0 ,obj.length-1);//去掉最后一个逗号;
params = params.substring(0 ,params.length-1);//去掉最后一个&;
//alert(params);
calldelete(params);return;//如果不需要确认提示的话;
}else{//如果是直接删除
params = obj;
obj = (obj +1 );//显示要加个1
}
function confirmit(){
$("confirm").style.display="";
$("mask").style.display="";
setposition($("confirm"));
$("confirm").innerHTML=" <div class=\"da\"><span class=\"x\" title=\"关闭\"> x </span>拖动区</div><div class=\"text\">您确定要删除第<b>"+ (obj)+"</b>条留言吗?</div><a href=\"javascript:calldelete('"+ params +"')\">确定</a> <a href=\"javascript:closeconfirm()\">取消</a>";
}
confirmit();
}
function deletemsg(){
//alert(this.req.responseText);
if(this.req.responseText.indexOf("deleteSuccessfully")!=-1)
{
showtip("删除成功!");
closeTip();closeconfirm();
showmsg();//重新获得留言;
}
}
function calldelete(params){
var id = params;
showtip("第 "+id+" 条记录删除中..");
//alert(params);
if(id.indexOf("&")!=-1){ //含有&符号说明是从多选递交来的;
var d=new net.ContentLoader("action/delmessage_ajax.php",deletemsg,null,"POST",params,null);
}else{//说明是直接点删除来的
var d=new net.ContentLoader("action/delmessage_ajax.php?del=y&id="+id,deletemsg,null,"GET",null,null);
}
}
function showtip(msg){ var t=$("tip");
//alert(t.offsetTop+"||"+window.document.body.scrollTop);
//t.style.position="absolute";
//t.style.left = window.document.body.offsetWidth - 50;
//t.style.left = window.document.body.offsetWidth - 140;
//alert(window.document.body.offsetWidth +"-"+ 200);
t.style.top=t.offsetTop>window.document.body.scrollTop?t.offsetTop:window.document.body.scrollTop;
t.innerHTML=msg;t.className="tip";
//alert(t.style.top);
}
//clear tips;
var tm=0;var start;
function closeTip(){
tm++;//超时关闭提示;
start = setTimeout(closeTip,200);
if(tm >= 5){
clearTimeout(start);
showtip(" ");tm = 0;
$("tip").className="";
}
}
function cleanBR() {
var area = document.getElementsByTagName('TEXTAREA');
for (var i=0; i<area.length; i++) {
area[i].value = area[i].value.replace(/<br \/>/ig, '');
area[i].value = area[i].value.replace(/(\xA0\x20){4}/ig, '\t');
area[i].value = area[i].value.replace(/\xA0\x20\xA0/ig, ' ');
area[i].value = area[i].value.replace(/\xA0\xA0/ig, ' ');
}
}
var selectit;//check对象
var pg = new showpages('pg');var pagesize=10,pagecount;
//调用pages.js里的页码函数; ,每页显示条数,当前页,总页数;
function paresXml(xml,obj){
var message=new Array;
var xmldoc=xml.documentElement;
var msg=xmldoc.getElementsByTagName("message");
try{
for(var i=0;i<msg.length;i++){
for(var x=0; x< msg[i].childNodes.length;x++){
message[i]=new Array;
//message[i][x]=msg[i].childNodes[x].firstChild.nodeValue;
//$("con").innerHTML+=("message["+i+"]["+x+"]="+msg[i].childNodes[x].firstChild.nodeValue)+"<br>";
var xmlci=msg[i];
message[i]={
title:xmlci.childNodes[0].childNodes[0].nodeValue,
contents:xmlci.childNodes[1].childNodes[0].nodeValue,
user:xmlci.childNodes[2].childNodes[0].nodeValue,
ip:xmlci.childNodes[3].childNodes[0].nodeValue,
host:xmlci.childNodes[4].childNodes[0].nodeValue,
time:xmlci.childNodes[5].childNodes[0].nodeValue,
no:xmlci.childNodes[6].childNodes[0].nodeValue,
id:xmlci.childNodes[7].childNodes[0].nodeValue
}
}
}
function getmax(){
var number=xmldoc.getElementsByTagName("number");
var pagetotal = number[0].childNodes[0].childNodes[0].nodeValue;
pagecount = parseInt( ( parseInt(pagetotal) + pagesize-1 ) / pagesize );
//总数为最大条数加每页显示数量减1再除以每页显示数量;
pg.pagecount = pagecount;
var checkText ="";
checkText += "<label for=\"chkall\"><input type=\"checkbox\" id=\"chkall\" name=\"chkall\" onclick=\"selectit.checkall();\"><span style=\"color:blue;text-decoration:underline;cursor:pointer;cursor:hand\">全选</span></label> <span style=\"color:blue;text-decoration:underline;cursor:pointer;cursor:hand\" onclick=\"selectit.reverseCheck()\">反选</span> <span id=\"delAll\" style=\"color:blue;text-decoration:underline;cursor:pointer;cursor:hand\" onclick=\"selectit.subDelete(del)\">删除选中项</span> ";
var pgText = "<br>总记录:"+ pagetotal +" 总页数:"+ pagecount +" 当前第:"+ pg.pageno +"页 ";
pg.innerpages($("pages") , checkText ,pgText); //生成页面并加入多选以及说明
}getmax();
showtip("信息读取完成!");
closeTip();
}catch(ex){
showtip("出现意外:"+ex);
}
//delete first;
if($("con").hasChildNodes()){//如果已经有表格就删除重新生成一个;
$("con").removeChild($("con").childNodes[0]);
}
if(message.length<=0){
$("con").innerHTML="<br>暂时还没有留言,谢谢!";
$("pages").innerHTML = "";//清空页码多选等;
return;
}
function addChild(tr,n,o){
tr.insertCell(n).appendChild(document.createTextNode(o));
}
var r=0;var c=0;
var table=document.createElement("table");
table.cellPadding="0";table.cellSpacing="0";
table.width="100%";
while(r<message.length){
var tr=table.insertRow(-1);
var checkHTML = "<input type=\"checkbox\" name=\"id"+ (parseInt( message[r].id ) -1) +"\" value=\" "+ (parseInt( message[r].id ) -1) +" \" onclick=\"selectit.clickchk();\">";
tr.insertCell(0).innerHTML = checkHTML;
addChild(tr,1, "第" + message[r].id +"楼");
addChild(tr,2,message[r].title);
tr.insertCell(3).innerHTML=message[r].contents;//addChild(tr,3,message[r].contents);
addChild(tr,4,message[r].user);
addChild(tr,5,message[r].ip);
addChild(tr,6,message[r].host);
addChild(tr,7,message[r].time);
addChild(tr,8,"编号:"+message[r].no);
tr.insertCell(9).innerHTML="<a href=\"javascript:del("+ ( parseInt( message[r].id ) -1 ) +")\">删除</a>";
r++;
}
for(var cols=0 ; cols<table.rows[0].cells.length;cols++){
table.rows[0].cells[cols].className = "uli"+cols;//设置td的class
}
$("con").appendChild(table);
setTrBg( $("con").childNodes[0] , 0 ,1);//设置tr背景色;
selectit = selecttheForm;//声明多选;
selectit.f = document.forms[0];
selectit.chk = document.getElementById("chkall");
}
function showmsg(pgno){
try{
if(pgno != undefined ){
pg.pageno = pgno;
}
showtip("信息载入中...");
function getmsg(){
var xmldoc= this.req.responseXML;
if(xmldoc.documentElement){
paresXml(xmldoc,$("con"));
}
}
//取第几页每页多少数据显示在这里;
var url = "action/msgxml.php?num=" + pagesize + "&pageno=" + pg.pageno;
var get = new net.ContentLoader(url,getmsg,null,"GET",null,null);
//得到内容;
}catch(ex){
alert(ex);
}
}
function init(){
showmsg();//载入时调用;
}
init();
</script>
<div id="pages">
</div>
<?php
require("inc/footer.inc");
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -