1.打開新窗口
這個簡單:Response.Write(@"<script
language='javascript'>window.open('url');</script>");
2.關閉窗口
//關閉當前窗口,並提示用戶時候關閉,yes關閉,no退出
Response.Write(@"<script language='javascript'>window.close();</script>");
//延遲關閉窗口(下面代碼表示2秒後關閉,無需確認)
Response.Write(@"<script
language='javascript'>setTimeout('self.close()',2000);</script>");
3.延遲時間
這個和上面的沒有多少區別.我用到的情況是,在用戶操作完畢給出提示,"n秒後,頁面
轉向"之類的只需去掉2重的Self.close()即可
Response.Write(@"<script
language='javascript'>setTimeout('',2000);</script>");
4.彈出提示或警告窗口
Response.Write(@"<script language='javascript'>alert('添加成功,2秒鐘後頁面
將自動跳');</script>");
5.刷新其他頁面
這個用到的情況還是不少.比如在B頁面對數據更新和修改,另一頁面A要保持最新數據
給客戶,這是就要在對B操作完畢的情況下對A進行刷新:
Response.Write(@"<script language='javascript'>window.opener.location.
href='./default.aspx'</script>") ;
6.頁面跳轉
有時候在學要給出提示的情況下進行頁面跳轉,不能使用Response.Redirect("url");
比如,當客戶操作完畢,單擊按鈕提交,彈出提示框(使用上面3和4),如果使用了
Response.Redirect("url");
那麼頁面將不給出提示,頁就是3和4沒有起作用就直接轉向了.
如果你是下面的操作過程:
1).Response.Write(@"<script language='javascript'>alert('添加成功,2秒鐘後頁
面將自動跳');</script>");
2).Response.Write(@"<script
language='javascript'>setTimeout('',2000);</script>");
3).頁面轉向:
Response.Write("<meta http-equiv='refresh'
content='0;URL=./default.aspx'>");
//這個我不知道用javascript怎麼實現,熟悉的輕補充一下
7.窗口傳制問題
這個問題比較煩,打開模態窗口(ShowModelDialog)我還沒有實現,請各位補充.
具體情況是這樣的,比如說A打開一個新窗口B,當用戶對B操作完畢後,我們獲得必要的
數據,自動將其賦給A中的TextBox等控件,這個過程是在客戶端完成的.就像發送郵件時,
需要從地址本中選取,然後將選中的發送地址傳回來.
1).在A中加入如下代碼,打開一個新窗口B.
Response.Write(window.">@"window.
open('B.aspx','','toolbar=no,menubar=no,status=yes,location=no,
resizable=no,scrollbars=no,width=500,height=350');</script>");
2).對B操作完畢,獲得必要數據tmpStr,然後將其賦值給A中的TextBox1
Response.Write(@"<script
language='javascript'>opener.document.all.TextBox1.value
='" +tmpStr+"';</script>");
注意:這個過程是在客戶單用javascript完成的,因此我們不能按照服務端的編程習慣
以及不能使用web服務控件的服務端屬性進行操作.TextBox1是一個web服務控件,
其id爲TextBox1,A頁面被服務器解析爲html,通過瀏覽器瀏覽,TextBox1就變成了
純html控件,我們這裏用javascript操作的也就是html控件,因此賦值使用的是
TextBox1的value屬性而不是Text屬性.另外,web服務器控件的id被解析成html後,
id有時會變,我們只要注意使用服務器解析後的id就成了,在瀏覽器中右鍵->查看源文件
即可得到
對第七種操作情況最好使用打開模態窗口windows.ShowModelDialog(),但是比較麻煩,
我還沒有實現.
接上:
調整本窗口大小和位置
Response.Write("<script>window.resizeTo(500,400);</script>");
Response.Write("<script>window.moveTo(300,200);</script>");
JavaScript彈窗2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.