複製代碼 代碼如下:
-----------------------------Jack的注釋 ajaxJS.js-----------------------------
//這裡是顯示一個等待的視窗
document.write('<DIV id="loadingg" style="HEIGHT:65px; WIDTH: 205px;POSITION: absolute; Z-INDEX:1000;border:3px #fff solid;text-align:center; font-size:12px; font-family:Arial, Helvetica, sans-serif;color:#660000;background:#222;opacity:.7;-moz-opacity:.7;filter: alpha(opacity=70); display:none;"><br/><font color="#FF6600"><strong>資料正在讀取中,請等候...</strong>< /font><br/></DIV>')
//showloading控制等待視窗的顯示和隱藏
function showloading()
{
var obj=document.getElementById("loadingg")
if (obj.style.display!="")
{
obj.style.left=((document.documentElement.clientWidth-parseFloat (obj.style.width))/2)+document.documentElement.scrollLeft+"px";
obj.style.top=((document.documentElement.clientHeight-parseFloat (obj.style.height))/2)+document.documentElement.scrollTop+"px";
obj.style.display="";
}else{obj.style.display="none";}
}
//$()取得指定ID的對象
function $(id)
{
return document.getElementById(id);
}
//echo()向指定的對象obj顯示指定的html
function echo(obj,html)
{
$(obj).innerHTML=html;
}
//fopen()使指定的obj處於顯示狀態
function fopen(obj)
{
$(obj).style.display="";
}
//fclose()使指定的obj處於隱藏狀態
function fclose(obj)
{
$(obj).style.display="none";
}
//createxmlhttp()擷取XMLHttpRequest對象並返回
function createxmlhttp()
{
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {//設定MiME類別
xmlhttp.overrideMimeType('text/xml');
}
}
return xmlhttp;
}
//getdata()擷取指定URL的資料在obj2裡面顯示,obj1是本過程的提示資訊,可刪除
function getdata(url,obj1,obj2)
{
var xmlhttp=createxmlhttp();
if(!xmlhttp)
{
alert("你的瀏覽器不支援XMLHTTP!!");
return;
}
showloading()
xmlhttp.onreadystatechange=requestdata;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
function requestdata()
{
fopen(obj1);
//echo(obj1,"正在載入資料,請稍等......");
//alert(xmlhttp.readyState)
if(xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
if(obj1!=obj2){fclose(obj1);};
echo(obj2,xmlhttp.responseText);
showloading()
}
}
}
}
//postdata()發送指定的資料data到url地址,並且使用obj來顯示返回的資料
function postdata(url,obj,data)
{ var rnd=Math.random()
var xmlhttp=createxmlhttp();
if(!xmlhttp)
{
alert("你的瀏覽器不支援XMLHTTP!!");
return;
}
showloading()
xmlhttp.open("POST", url, true);
xmlhttp.onreadystatechange=requestdata;
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(data);
function requestdata()
{
fopen(obj);
echo(obj,"正在提交資料,請稍等......");
if(xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
echo(obj,xmlhttp.responseText);
reget(rnd);
setTimeout("echo('showresult','')",2000);
echo('Message','')
showloading()
}
}
}
}
//lTrim()去掉字串左邊的空格
function lTrim(str)
{
if (str.charAt(0) == " ")
{
//如果字串左邊第一個字元為空白格
str = str.slice(1);//將空格從字串中去掉
//這一句也可改成 str = str.substring(1, str.length);
str = lTrim(str); //遞迴調用
}
return str;
}
//rTrim()去掉字串右邊的空格
function rTrim(str)
{
var iLength;
iLength = str.length;
if (str.charAt(iLength - 1) == " ")
{
//如果字串右邊第一個字元為空白格
str = str.slice(0, iLength - 1);//將空格從字串中去掉
//這一句也可改成 str = str.substring(0, iLength - 1);
str = rTrim(str); //遞迴調用
}
return str;
}
//trim()去掉字串兩邊的空格
function trim(str)
{
return lTrim(rTrim(str));
}
//f()沒有通用的意義,只針對特定對象
function f(obj)
{
return trim(eval("document.ajax_post."+obj+".value"));
//return trim($(obj).value);
}
//SaveReply()是表單的檢查提交函數
function SaveReply()
{
if(f("username")=="")
{
alert("請填寫使用者名稱");
return false;
}
if(f("Message")=="")
{
alert("內容不可為空");
return false;
}
var validate,password,log_DisKey=0,log_DisURL=0,log_DisSM=0
validate=""
password=""
if(document.ajax_post.log_DisKey.checked){
log_DisKey=f("log_DisKey")
}
if(document.ajax_post.log_DisURL.checked){
log_DisURL=f("log_DisURL")
}
if(document.ajax_post.log_DisSM.checked){
log_DisSM=f("log_DisSM")
}
if((typeof eval(document.ajax_post.validate))!="undefined"){
if(f("validate")=="")
{
alert("請填寫驗證碼");
return false;
}else{
validate=f("validate");
}
}
if((typeof eval(document.ajax_post.password))!="undefined"){
password=f("password");
}
data="username="+escape(f("username"))+"&password="+escape(password)+"&validate="+escape(validate)+"&log_DisSM="+escape(log_DisSM)+"&log_DisURL="+escape(log_DisURL)+"&log_DisKey="+escape(log_DisKey)+"&Message="+escape(f("Message"))+"&logID="+escape(f("logID"))+"&action="+escape(f("action"));
//alert(data);
postdata("wbc_blogcomm.asp","showresult",data);
return true;
}
調用:
複製代碼 代碼如下:
<div id=ShowComm></div>
<script language="javascript" type="text/javascript" src="ajaxJS.js"></script>
<script language="javascript" type="text/javascript">
function reget(str){
getdata('wbc_ShowComm.asp?LogID=100&comDesc=Desc&DisComment=False&0.5675318&'+str,'ShowComm','ShowComm');
}
reget('get');
</script>