<script language="javascript" type="text/javascript">
// <!CDATA[
/**
* 採用POST方式調用ajax後台函數
*
* @access public
* @param sUrl: 請求的串連
* argValue: 傳遞的值參數
* func: 響應函數
* isSync: 是否不同步處理,true則不同步,false則同步
* @author yansheng
* @create 2007/11/20
**/
function SendRequestPost(sUrl,argValue,func,isSync)
{//初始化、指定處理函數、發送請求的函數
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("Create XMLHttpRequest Object Failure!");
return false;
}
//響應函數
http_request.onreadystatechange = func;
http_request.open("POST", sUrl, isSync);
http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
http_request.send(argValue);
http_request = null;
}
/**
* ajax調用後台響應函數,處理send_request返回資訊
*
* @access public
* @author yansheng
* @create 2007/11/20
**/
function CheckRequestPost()
{
if(http_request.readyState==4)
{
if(http_request.status==200)
{
http_return = http_request.responseText;
}
}
else
{
switch(http_request.readyState)
{
case 0:
http_return = "未初始化...";
break;
case 1:
http_return = "載入中...";
break;
case 2:
http_return = "串連完成...";
case 3:
http_return = "交換資料...";
default:
break;
}
}
}
==============================================================================================================
* @author yansheng9988
* @create 2008/03/14
* 通過後台構造popup顯示的內容
* @param1:sURL幕後處理檔案的路徑
* @param2:sPostStr後台檔案的路徑,畫面傳入的參數字串,包括預存程序名稱、參數字串
* 格式如:strAction=ShowPop&strProcrdureName=預存程序名稱&strParameter=參數字串
注釋:“strAction”是個標誌,用來標註用使用背景那個方法的。
**/
function CreatePop(sURL,sPostStr)
{
var pos_x,pos_y,ta_width,ta_height;
var sHtml = "";
var pos_x,pos_y,ta_width,ta_height;
var sHtml = "";
//popup顯示在畫面的X座標
pos_x = event.x+10;
//popup顯示在畫面的Y座標
pos_y = event.y-14;
//popup的寬度
ta_width = 300;
//popup的高度
ta_height = 500;
//CheckRequestPost是SendRequestPost函數的監聽函數
SendRequestPost(sURL,sPostStr,CheckRequestPost,false);//將檔案同步處理。
oPopupBody.style.backgroundColor = "#FFFFFF";
oPopupBody.style.border = "solid black 1px";
//http_return是CheckRequestPost方法執行後從伺服器端接受到的返回字串。(主要是花的表格!)
sHtml = "<DIV style='overflow:auto;height:"+ta_height+"'>" + http_return + "</DIV>";
//把返回的字串放在popup中
oPopupBody.innerHTML = sHtml;
oPopup.show(pos_x,pos_y,ta_width,ta_height,document.body);
}
//顯示資料的popup===========================================================
function ShowPop(code)
{
var Sep1 = String.fromCharCode(1); //分割字元1
var sUrl = "http://www.cnblogs.com/../ajax/CallBackGound.aspx"; //後台檔案的路徑
var ProcNm = "0801_GetPriceBillView_POP"; //預存程序的名稱
var Pramvalue1 = code; //預存程序需要的參數
var strPost = "strAction=ShowPop&strProcrdureName="+ProcNm+"&strParameter="+Pramvalue1;//參數字串
CreatePop(sUrl,strPost)
}
//滑鼠事件開始==============================================================
/*
*滑鼠移動到行上激發的事件
*/
function GridRowOnMouseOver(rowObj)
{
rowObj.className = "GridOnmouseOver";
}
/*
*滑鼠離開所在的行時的事件
*/
function GridRowOnMouseOut(rowObj)
{
rowObj.className = "GridOnmouseOut";
autoClose();
}
/*
*雙擊該行的時候
*code是該行的關鍵字用來,查詢該行的詳細的資訊!
*/
function RowClick(obj,code)
{
obj.className = "GridOnmouseOut";
ShowPop(code);//顯示popup
}
/*
* 關閉開啟(隱藏)的Popup視窗
*/
function ClosePop()
{
oPopup.hide();
}
//沒有按鈕自動關閉
function autoClose()
{
window.setTimeout(ClosePopup,10);
}
//-->
</script>