五、對話方塊
1. 警告(Alert)
Q:我如何從JavaScript產生警告資訊。
A:要產生警告資訊,可以使用alert()方法:
alert('Message goes here');
上面的按鈕由下面的代碼建立:
<form name=myform><input type=button value="Try it now" onClick="alert('Hello from JavaScript!')"></form>
2. 確認對話方塊(Confirm Dialog)
Q:我如何通過JavaScript產生一個“確認/退出”對話方塊。
A:要產生“確認/退出”對話方塊,可以使用confirm()方法:
if (confirm("Your question)) { // do things if OK}
上面的按鈕由一下代碼建立:
<form name=myform><input type=button value="Try it now" onClick="if(confirm('Format the hard disk?'))alert('You are very brave!');else alert('A wise decision!')"></form>
3. 提示輸入對話方塊(Prompt)
Q:我如何通過JavaScript產生一個提示使用者輸入對話方塊。
A:可以使用prompt()方法產生提示使用者輸入的對話方塊:
prompt('Prompt text','Suggested input')
上面的按鈕由下面的代碼建立:
<form name=myform><input type=button value="Try it now" onClick="f=prompt('Enter your name','Name');alert('Hello '+f+'!')"></form>
4. 退出的提示輸入對話方塊(Canceled prompt)
Q:如何使用者點擊了退出按鈕,那麼prompt()將會返回什麼值呢。
A:被退出的prompt()的傳回值和瀏覽器有關。一些瀏覽器返回是null,而另外一些返回是Null 字元串''。因此,在調用prompt()時可以使用下面的代碼:
userInput = prompt('Prompt text','Suggested input');if (userInput != '' && userInput != null) { // do something with the input}
5. 尋找對話方塊(Find Dialog)
Q:在JavaScript中如何呼叫瀏覽器的尋找對話方塊。
A:在Netscape Navigator 4.0或者更新的瀏覽中可以使用window.find()調用其尋找對話方塊。點擊試試:
這裡例子的代碼是:
<form><input type=button value="Find (Netscape only)"onClick="if (navigator.appName=='Netscape'&& parseInt(navigator.appVersion)>3) window.find();else alert('Your browser does not support /'window.find()/'!')"></form>
Internet Explorer不支援window.find()。不過在Internet Explorer和Netscape Navigator中都可以使用指令碼尋找文本,參見搜尋文本。
6. 書籤:添加到收藏夾(Bookmarks: Add Favorite)
Q:我如何呼叫瀏覽器的添加到收藏夾對話方塊。
A:在Internet Explorer 4.0或者更新版本瀏覽器中,你可以通過window.external.AddFavorite呼叫瀏覽器“添加到收藏夾”對話方塊:
window.external.AddFavorite('URL','bookmark text').
Netscape Navigator沒有類似的方法(或者說在根本就沒有“添加到收藏夾”)。所以,你的指令碼只能提示Netscape使用者使用Navigator菜單或者快速鍵建立書籤(參見下面的例子):
樣本:在Internet Explorer中,指令碼建立的連結會開啟“添加到收藏夾”對話方塊。在Netscape中,指令碼會提示使用者點擊“Bookmarks” | “Add bookmark”或者按Ctrl-D來建立一個書籤。
樣本的原始碼是:
if (navigator.appName=="Netscape") { document.write ( 'To bookmark this site, click ' +'<b>Bookmarks | Add bookmark</b> ' +'or press <b>Ctrl+D</b>.' )}else if (parseInt(navigator.appVersion)>3) { document.write ('' +'<a onMouseOver="self.status=/'Bookmark this site/'" ' +' onMouseOut="self.status=/'/'" ' +' href="javascript:window.external.AddFavorite' +'(/'http://www.JavaScripter.net/faq//',' +'/'JavaScripter.net FAQ/')">' +'Click here to bookmark this site</a>.' )}