JavaScript中常用的函數(shù)之一是prompt函數(shù)。該函數(shù)可用于向用戶顯示一個(gè)文本輸入框,讓用戶輸入一段文本。這些文本可用于以后再次使用或作為確認(rèn)或取消操作的部分。
例如,假設(shè)一個(gè)網(wǎng)站提示用戶輸入他們喜歡的食物菜單。他們可以鍵入不同的食物的名稱,例如:漢堡、薯?xiàng)l、比薩和沙拉。該網(wǎng)站可以使用此信息進(jìn)行許多不同的操作,例如提供與輸入的關(guān)聯(lián)性,或者顯示有關(guān)他們的偏好的更多信息。
因此,prompt函數(shù)將始終是JavaScript庫(kù)中的重要元素,就如同alert和confirm函數(shù)一樣。
創(chuàng)建prompt函數(shù)
要?jiǎng)?chuàng)建prompt函數(shù),請(qǐng)?jiān)贘avaScript代碼中使用以下JSON對(duì)象:
{message:"Enter your name", defaultAnswer:"John Smith"};在這種情況下,“Enter your name”是提示消息,而“John Smith”是用戶未輸入任何內(nèi)容時(shí)的文本。 這是一個(gè)快速的演示代碼:
const userResponse = prompt("Enter your name", "John Smith"); console.log(userResponse); // userResponse 集合用戶的輸入內(nèi)容當(dāng)代碼運(yùn)行時(shí),會(huì)出現(xiàn)一個(gè)彈出框:
Enter your name
(文本框)
const yourName = "User4"; const promptMessage = "Hi, " + yourName + ". Your input is required."; const userResponse = prompt(promptMessage);在此代碼中,我們使用變量yourName作為字符串拼接的一部分。這樣我們可以根據(jù)提示消息的需要?jiǎng)討B(tài)更改顯示的文本。 如果在上面的代碼段中直接將字符串"User4"傳遞給prompt()就不能動(dòng)態(tài)更改! 這是因?yàn)樽址ǔ2豢勺儾⑹冀K是硬編碼的。 默認(rèn)值和限制用戶輸入長(zhǎng)度 prompt函數(shù)的另一個(gè)常見(jiàn)用例是我們希望固定用戶輸入的長(zhǎng)度,并在默認(rèn)情況下具有某些文本。我們可以使用以下代碼:
const maxLength = 10; // 最大輸入長(zhǎng)度 const defaultText = "This text will vanish after " + maxLength + " characters."; const userResponse = prompt(defaultText, "", function(inputString) { return inputString.length <= maxLength ? inputString : false; });在此代碼中,我們使用了匿名函數(shù)作為prompt函數(shù)的第三個(gè)參數(shù)。這個(gè)函數(shù)用來(lái)限制用戶輸入的長(zhǎng)度。 我們還使用了maxLength變量,它對(duì)用戶輸入的長(zhǎng)度進(jìn)行了限制。 這是一個(gè)簡(jiǎn)單的方法,使用戶可以輸入的文本只有一個(gè)特定的長(zhǎng)度,并且我們可以檢查文本的長(zhǎng)度以確保其符合要求。