<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>