使用window.location.reload;刷新時,如果提交數據的動作,則會出現討厭的對話框!
解決此問題,應該這樣寫:
window.location.href=window.location.href;
window.location.reload;
同理,如果是刷新父窗口,應該這樣寫:
window.opener.location.href=window.opener.location.href;
window.opener.location.reload();
這種寫法就不出現那討厭的對話框啦!
indexOf()定義和用法
indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置。
語法
stringObject.indexOf(searchvalue,fromindex)
參數
描述
searchvalue
必需。規定需檢索的字符串值。
fromindex
可選的整數參數。規定在字符串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。
如省略該參數,則將從字符串的首字符開始檢索。
說明
該方法將從頭到尾地檢索字符串 stringObject,看它是否含有子串 searchvalue。開始檢索的位置在字符串的
fromindex 處或字符串的開頭(沒有指定 fromindex 時)。如果找到一個 searchvalue,則返回 searchvalue
的第一次出現的位置。stringObject 中的字符位置是從 0 開始的。
提示和註釋
註釋:indexOf() 方法對大小寫敏感!
註釋:如果要檢索的字符串值沒有出現,則該方法返回 -1。
實例
在本例中,我們將在 "Hello world!" 字符串內進行不同的檢索:
<script type="text/javascript">
var str="Hello world!";
document.write(str.indexOf("Hello") + "<br />");
document.write(str.indexOf("World") + "<br />");
document.write(str.indexOf("world"));
</script>
以上代碼的輸出:
0 -1 6
在寫ASP.Net程序的時候,我們經常遇到跳轉頁面的問題,我們經常使用Response.Redirect 做ASP.NET框架頁跳
轉,如果客戶要在跳轉的時候使用提示,這個就不靈光了,如:
Response.Write("< script>alert('恭喜您,註冊成功!');< /script>");
Response.Redirect("main.html");
這時候我們的提示內容沒有出來就跳轉了,和Response.Redirect("main.html");沒有任何區別。
這時我們採用下面代碼試驗一下:
ASP.NET框架頁跳轉的另一實現
Response.Write("< script language=javascript>alert('恭喜您,註冊成功!')< /script>");
Response.Write("< script language=javascript>window.location.href='main.html'< /script>");
這個即實現了我們的要求,在提示後,跳轉頁面。
最重要的是window.location.href 語句可以實現一個框架的頁面在執行服務器端代碼後刷新另一個框架的頁面
(Response.Redirect無法達到,至少我沒有發現):
如:index.htm頁面中有二個框架,分別爲 frameLeft和frameRight,在frameRight頁面中執行服務器端代碼後
刷新frameLeft中的頁面。
先前最常見的是註冊之後,自動刷新登陸框,讓登陸框換成已登陸頁面,只要在註冊成功的代碼之後加上一段,即可以
實現刷新另個框架的頁面。代碼如下:
Response.Write("< script language=javascript>alert('恭喜您,註冊成功!')< /script>");
Response.Write("< script
language=javascript>window.parent.frameLeft.location.href='main.html'< /script>");
這樣就搞定了ASP.NET框架頁跳轉中斷的問題。
=====================================================================================
"window.location.href"、"location.href"是本頁面跳轉
"parent.location.href"是上一層頁面跳轉
"top.location.href"是最外層的頁面跳轉
舉例說明:
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js這樣寫
"window.location.href"、"location.href":D頁面跳轉
"parent.location.href":C頁面跳轉
"top.location.href":A頁面跳轉
如果D頁面中有form的話,
<form>: form提交後D頁面跳轉
<form target="_blank">: form提交後彈出新頁面
<form target="_parent">: form提交後C頁面跳轉
<form target="_top"> : form提交後A頁面跳轉
關於頁面刷新,D 頁面中這樣寫:
"parent.location.reload();": C頁面刷新 (當然,也可以使用子窗口的 opener 對象來獲得父窗口的對象:
window.opener.document.location.reload(); )
"top.location.reload();": A頁面刷新