天天看點

《JavaScript和jQuery實戰手冊(原書第2版)》——2.7節教程:請求資訊

2.7 教程:請求資訊

在上面的腳本中,我們看到了如何建立變量,但是,對于變量如何響應使用者并産生獨特的、定制的内容,我們還沒有太多經驗。在本教程中,我們将學習如何使用prompt()指令收集來自使用者的資訊并根據該輸入改變頁面的顯示。

在文本編輯器中打開chapter02目錄下的prompt.html檔案。

為了讓你可以更快地程式設計,< script>标簽已經添加到這個檔案了。你可能注意到這裡有兩對< script>标簽,一個在前頭,一個在正文。我們要添加的javascript将要做兩件事情。首先,它會打開一個對話框,要求使用者輸入一個問題的答案;其次,在web頁面的正文中,顯示使用使用者響應的一條定制消息。

在文檔前面的第一組< script>中輸入如下粗體所示代碼:

prompt()函數産生一個和alert()函數類似的對話框。然而,prompt()函數不僅顯示一條消息,而且可以擷取一個答案(如圖2-3所示)。此外,要使用prompt()函數,可以在圓括号中提供以逗号分開的兩個字元串。圖2-3顯示了對這兩個字元串進行了什麼操作:第一個字元串作為對話框的問題顯示(在這個例子中,是“what is your name?”)。

注意: 如果沒有在ie 7的浏覽器設定中激活,ie 7不允許使用prompt()方法。好在ie 7的使用者數量越來越少了。

第二個字元串顯示通路者在字段中的輸入。這個例子使用了所謂的空字元串,它隻是兩個單引号(' '),并且産生一個空白文本字段。然而,我們可以為第二個字元串提供一個有用的說明,例如"please type both your first and last names",并且它将在字段中顯示。遺憾的是,在輸入自己的資訊之前,通路者需要先删除文本字段中的文本。

prompt()函數傳回包含通路者在對話框中輸入的内容的一個字元串。在這一行javascript代碼中,結果存儲在一個名為name的新變量中。

注意: 很多函數會傳回一個值。換句話說,這隻是意味着函數在執行之後提供某些資訊。我們可以選擇忽略這些資訊,或者将其存儲在一個變量中供随後使用。在這個例子中,prompt()函數傳回一個字元串,這使我們可以将這個字元串存儲在變量name中。

儲存頁面并在web浏覽器中預覽。

當載入頁面的時候,我們将看到對話框。注意,在填寫對話框并單擊ok按鈕之前,沒有發生其他的事情,我們甚至不會看到web頁面。我們還會注意到,在單擊了ok按鈕之後,也沒有發生什麼更多的事情,這是因為此刻我們隻是收集并存儲了響應,還沒有在頁面上使用響應。接下來實作這點。

傳回文本編輯器,找到第二組< script>标簽并添加粗體所示的代碼:

這裡利用了通路者提供的資訊。像本書2.6節中的腳本一樣,我們組合了幾個字元串(一個開始的段落标簽和文本、變量的值以及一個結束的段落标簽),并且在web頁面上顯示結果。

當提示對話框出現的時候,輸入一個名字并單擊ok按鈕。注意,輸入的名字出現在web頁面中(如圖2-4所示)。重新載入web頁面并輸入一個新的名字,頁面變化了。這正是一個好的變量應該起到的作用。

繼續閱讀