你有沒有在進入網站時被詢問過「尊姓大名」過呢?我想你應該常常遇過才對!這個可以讓瀏覽者輸入資料的視窗稱之為『輸入視窗(inputbox)』,它是由JavaScript所提供的一個輸入函式:
prompt() 函式
prompt()函式與confirm()函式相同,都會先顯示一個視窗,但不同的是prompt()函式所顯示的視窗中含有一個輸入的欄位,呼叫prompt()函式的基本格式如下:
prompt()函式使用格式
參數的內容都將會顯示在蹦現的訊息視窗中而成為所謂的『提示訊息』,同時,在輸入的欄位內會有一段預設的輸入資料「undefined」,以下是輸入視窗的組成說明:
- 預設提示文字:這是當我們呼叫prompt()函式時JavaScript自動產生在輸入視窗內的提示文字,我們不能加以更改。
- 提示訊息內容:我們呼叫函式所指定的提示參數內容。
- 輸入欄位:讓瀏覽者輸入相關資料的欄位。
- 預設輸入內容:這是當我們呼叫prompt()函式時JavaScript自動產生在輸入欄位內的資料內容。
- 輸入確認按鈕:瀏覽者在輸入欄位輸入資料後,若按下確定按鈕則可將輸入欄位內的資料傳回程式使用。
- 輸入取消按鈕:如果瀏欄者按下取消按鈕,則回傳給程式一個空值(null)。
prompt()函式使用格式
如果我們呼叫的敘述是:
則這些參數與輸入視窗的關係如下圖:
實做學習
使用prompt()函式,讓網頁載入時蹦現一個輸入視窗,讓瀏覽者輸入姓名,並利用瀏覽者所輸入的資料蹦現一個訊息視窗向瀏覽者打招呼。
上圖是理想的執行結果,瀏覽者在輸入欄位中輸入自己的姓名並且按下確定按鈕,萬一瀏覽者不想填入資料而直接按下取消按鈕,或是輸入名字卻按下取消按鈕呢?此時將會出現下圖的結果:
為何為這樣呢?因為瀏欄者按下取消按鈕,則回傳給程式一個空值(null),此時JavaScript就自作聰明的把回傳值資料設定為『null』,因此在程式碼第8行,我們呼叫alert()函式所出現的訊息內容『x+”你好”』就變成了『”null”+”你好”』,所以在訊息視窗中的內容就成為『null你好』!該如何解決這個錯誤呢?很簡單,我們只要加上一個if判斷敘述來判斷就行了,我們先判斷輸入視窗中傳回是否有傳回值,如果有資料回傳我們再顯示執行蹦出訊息的視窗。
沒有留言:
張貼留言