狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

彈出模態(tài)窗口總結(jié)

admin
2010年8月13日 8:59 本文熱度 4875

今天在做一個(gè)彈出模態(tài)窗口時(shí)搞了我一晚上。google半天,找來找去文章就哪么幾篇,別人的能刷新偶的就是不行,后來在一網(wǎng)友幫助下總算是找到問題所在,搞定了。

//在模態(tài)窗口中提交數(shù)據(jù)總是會(huì)彈出一個(gè)新窗口,上次遇到過這問題,所以這次一來就在html里加上了
    <form id="form1" runat="server" target="bbc2188">
     <iframe name="bbc2188"   width="0px"   height="0px"   frameborder="0"    style="display:none"></iframe>
//然后在網(wǎng)上又看到這樣一段,    <base target="_self">,偶就把這段加到head里面去了,因?yàn)闆]太注意這個(gè)target="_self"所以搞得偶一晚上都在找問題。

就這樣自己試了很多常用js刷新頁面的方法,都不能實(shí)現(xiàn)這個(gè)模態(tài)頁面刷新,又搜索了半天,看到有人這樣重新加載要刷新的頁面

在html里放一個(gè)a標(biāo)簽,讓他不顯示。

<a id='reload' href='default.aspx?pid=' style='display:none'></a>

下面是用到的js腳本

<script language ="javascript" type ="text/javascript" >
        function geturl()//得到url中的參數(shù),因?yàn)榕甲龅氖且粋€(gè)圖片評(píng)論,所以這用js接收?qǐng)D片id方便從新綁定時(shí)用。
      {
           var parmname="pid";
           var url = window.location.tostring();
           var arr = url.split("?");
           var parms = arr[1];
           var parmlist = parms.split("&");
           var parmtemp;
          
           for(var i=0;i<parmlist.length;i++)
           {
                parmtemp = parmlist[i].split("=");
                if(parmtemp[0] == parmname)
                return parmtemp[1];
           }
           return "0"
      }

    function setreloadhref()//刷新網(wǎng)頁
   {
        var reload=document.getelementbyid ("reload");
        reload.href ="default.aspx?pid="+geturl()+"&"+math.random();
    }
    function reloadclick()//單擊觸發(fā)刷新事件
    {
        var reload=document.getelementbyid ("reload");
        reload.click();
    }
    </script>
然后在<body>中添加事件處理方法

<body onkeydown="javascript:if (event.keycode==116){reload.click();}" onload ="setreloadhref();">

現(xiàn)在頁面可以刷新了,但怎么總不是最新的呢?也就是說現(xiàn)在提交一條數(shù)據(jù)頁面刷新還是沒變,只有在按一次f5這個(gè)模態(tài)窗口才刷新剛才提交的數(shù)據(jù),刪除 也一樣,后來發(fā)現(xiàn)把<form id="form1" runat="server" target="bbc2188">中的target屬性去掉就搞定了。一提交就完成刷新了。

并且之前添加的哪些木用的js腳本也可以刪除了,又是一個(gè)小錯(cuò)誤搞偶一晚上,哎。
====================

 

asp中的模態(tài)對(duì)話框

終于開始寫b/s的程序。
今天遇到了一個(gè)問題, 如何處理模態(tài)對(duì)話框。具體的要求是:在選擇頁面上的“添加”按鈕,彈出模態(tài)對(duì)話框,在對(duì)話框中添加記錄后,選擇“確定”按鈕,關(guān)閉對(duì)話框,更新主頁面表格的數(shù)據(jù)。

網(wǎng)上關(guān)于模態(tài)對(duì)話框的討論有很多,試了一天,發(fā)現(xiàn)一個(gè)比較好的解決方法:

1、顯示對(duì)話框:
javascript腳本文件中加入:
    function openeditwin(frmwin,width,height)
   {      
    var me;
    // 把父頁面窗口對(duì)象當(dāng)作參數(shù)傳遞到對(duì)話框中,以便對(duì)話框操縱父頁自動(dòng)刷新。
    me = window;
    // 顯示對(duì)話框。
    window.showmodaldialog(frmwin,me,'dialogwidth='+width +'px;dialogheight='+height+'px;help:no;status:no')
   }
  
在c#中調(diào)用 :
cmdadd.attributes.add("onclick","javascript:openeditwin('" + session["showform"] + "',540,400)");
很多方法是用 response.write或者registerstartupscript 來實(shí)現(xiàn),但是都存在問題,如顯示對(duì)話框時(shí)頁面是空白、刷新頁面的時(shí)候彈出對(duì)話框等。
在對(duì)話框中加入jscript腳本
   function1 onsubmit() // 強(qiáng)制本窗口提交
   {
    document.form1.target="_self";
   }
2、關(guān)閉對(duì)話框
   response.write("<script language='javascript'>");
    response.write("window.close()");
   response.write("</script>");

3、對(duì)話框關(guān)閉后,執(zhí)行更新操作
   在對(duì)話框的關(guān)閉事件中加入:
response.write("<script language='javascript'>");
    response.write("window.close()");
    response.write("</script>");
4、更新主頁面中的表格數(shù)據(jù)。
在“添加”按鈕的處理方法中,添加表格更新的代碼。

 

asp.net使用彈出窗口(對(duì)話框)的體會(huì)

       從整理這篇文章的目的,在于記錄前一段使用彈出窗口的經(jīng)驗(yàn),同時(shí)結(jié)合對(duì)一些資料的閱讀,總結(jié)彈出窗口使用方法。
        首先描述一下需求:在信息發(fā)布系統(tǒng)中,信息的一個(gè)字段信息為“欄目”,需要從多級(jí)欄目中選擇出一個(gè)欄目發(fā)布文章。考慮到用戶界面的美觀和操作的方便,決定 在新信息發(fā)布頁面中放置一個(gè)button,用戶點(diǎn)擊該button后,彈出一個(gè)顯示欄目樹的窗口,用戶可在該窗口中選擇欄目。
        這樣就引出了本文要討論的問題:如何彈出窗口?如何在父窗口和彈出窗口之間傳遞信息?
在回答這兩個(gè)問題之前,首先需要指出,目前有三種方法可以彈出窗口(對(duì)話框),它們分別是:

  • window.open方法
  • 無模式對(duì)話框
  • 有模式對(duì)話框       

         如何在這三種方法中做出選擇、如何對(duì)后兩種方法做出前面兩個(gè)問題的回答,這在文后所附的文章中都有介紹。所以,這里主要針對(duì)window.open方法做出回答。
       下面是一個(gè)使用window.open彈出窗口的簡單的例子:

<script>
function open_cate()
{
     window.open(
"openup.aspx","","toolbar=0,location=0,directories=0,status=0,
                menubar=0,scrollbars=1,resizable=0,left=200,top=100,width=250,height=400
");

}
</script>

從代碼中可以看出,我們可以對(duì)彈出窗口的諸多屬性進(jìn)行設(shè)置。如果我們想要在點(diǎn)擊一個(gè)button時(shí)彈出窗口,值需要在該button的onclick時(shí)間中調(diào)用該javascript函數(shù)即可。

解決了如何彈出窗口的問題之后,下面討論如何在頁面之間傳遞信息。

父窗口向彈出窗口傳遞信息
  

這里我 采用的辦法是在url中拼接參數(shù)傳遞信息。window.open的第一個(gè)參數(shù)為url,我們可以把參數(shù)加在url后,例如 'openup.aspx?parm1=abc&parm2=<%=serversideparm%>'。這樣,只需在彈出窗口 querystring到這些參數(shù),就實(shí)現(xiàn)了動(dòng)態(tài)向彈出窗口傳遞信息。

將彈出窗口的信息傳回父窗口
  

使用彈 出傳口的目的主要是為了同用戶的交互,所以如何在父頁面中得到用戶對(duì)彈出窗口的操作結(jié)果是非常重要的。其實(shí)這里實(shí)現(xiàn)的方法也很簡單,同樣是通過 javascript:通過window.opener得到父窗口的window對(duì)象,就可以對(duì)父窗口進(jìn)行操作,比如對(duì)某個(gè)textbox設(shè)值。

后記

當(dāng)初為了實(shí)現(xiàn)這個(gè)簡單的交互操作,花費(fèi)了整整一下午的時(shí)間,關(guān)鍵是對(duì)javascript太生疏,自以為做server端的東西才是本事,其實(shí)是犯了大錯(cuò)。

另外,如果在js中引用.net server端對(duì)象遇到對(duì)象為空的報(bào)錯(cuò)時(shí),很有可能是對(duì)象在編譯后,vs對(duì)控件進(jìn)行了重命名。一開始這里不知道,害得我好苦

關(guān)于有模式對(duì)話框和無模式對(duì)話框
參見下面的鏈接:
好的對(duì)話框的重要性
http://www.microsoft.com/china/msdn/archives/technic/library/techart/dude09252000.asp

================

如何跳出頁面的frame框架

很多網(wǎng)頁都是框架結(jié)構(gòu)的,在很多的情況下會(huì)通過按鈕點(diǎn)擊事件或鏈接,跳出框架轉(zhuǎn)到其它界面。例如說點(diǎn)擊“注銷登錄”返回到登錄界面。

一、通過運(yùn)行腳本跳出框架有以下幾種寫法:

1.  <script language = javascript>window.open('login.aspx','_top')</script>"

2.  <script language = javascript>window.open('login.aspx','_parent')</script>"

3. <script language = javascript>window.parent.location.href='login.aspx'</script>

4.    response.write("<script>window.parent.opener=null;window.top.close();</script>")

       response.write("<script>window.open('index.aspx','');</script>")

       這種方法會(huì)先關(guān)閉原框架窗口,再重新打開一個(gè)新的窗口。這在很多功能界面對(duì)瀏覽器進(jìn)行了改變?cè)O(shè)置,而回到登陸界面又用缺省設(shè)置的情況下適用。

二、鏈接跳出框架

這種情況就很簡單了,加上 target="_top" 屬性就可以了。


該文章在 2010/8/13 8:59:14 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved