好的,我們有一個名稱數組和輸入字段,用戶輸入一個字符串,我們想給他名字建議。名字Alex,Anna屬於數組,並且例如當用戶輸入「一個」我們要建議‘亞歷克斯’和‘安娜’。這裏是我的代碼:使用用戶輸入提供姓名建議
<!DOCTYPE html>
<html>
<body>
<p class="thick"> Name*: </p> <input type="text" id="fullname" onkeyup="myFunction();">
<p id="test"></p>
<script>
var namesArray= ["Alex","Anna","Eva","George","Jason","John","Lisa","Mary","Michael","Nick","Vicky"];
function myFunction() {
var text = document.getElementById('fullname').value;
var patt1 = new RegExp('^' + text, "i");
var result = [];
for (i = 0; i < namesArray.length; i++) {
if (patt1.test(namesArray[i]))
result.push(namesArray[i]);
}
document.getElementById("test").innerHTML = result.join('<br />');
}
</script>
</body>
</html>
它工作正常加載指望在第一次一個thing.When,如果我進入空間,然後按Delete整個數組顯示爲名稱建議..我不希望這一點。我想要一個建議,只有當輸入字段是非空的時候纔會出現。當用戶刪除他輸入的內容到目前爲止,我不想提出任何建議。怎麼辦我這樣做?
當您調用'.join'時,用空值初始化數組將失敗,並且當文本爲空時可能會導致異常結果。 – ssube