popup的使用

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.