我在按下保存输入按钮时遇到了麻烦。我希望当我在框中输入文本,然后单击“保存输入”时,输出将是我输入的值(我初始化了一个数组并且它有效),但是当我没有在文本框中放置任何内容时,并且点击SAVE INPUT,返回
const inputBtn = document.getElementById("input-btn")
const inputEl = document.getElementById("input-el")
const ulEl = document.getElementById("ul-el")
let myLead = []
inputBtn.addEventListener("click", function() {
myLead.push(inputEl.value)
renderLoad()
inputEl.value = ""
});
function renderLoad() {
let listItems = "";
for (let i = 0; i < myLead.length ; i++ ) {
/* listItems += "<li><a href='#'' target='_blank'>" + myLead[i] + "</li>"; */
listItems += `
<li>
<a href='#' target='_blank'>${myLead[i]}
</li>`;
ulEl.innerHTML = listItems // follow html rule
}
}
例如 情况 1:输入值(我的代码有效!)
输入:“www.google.com”
输出:www.google.com
case2:没有值的输入
输入:
输出:
(我的代码不适用于这种情况!每次我单击“保存输入”时,输出都会显示“”符号)
您可以使用
trim
从字符串中删除所有前导和尾随空格。如果修剪后值为空,则只有空格字符(或没有输入字符),所以不要将其添加到数组中。
if (inputEl.value.trim()) myLead.push(inputEl.value)
您可以使用
trim
从字符串中删除所有前导和尾随空格。如果修剪后值为空,则只有空格字符(或没有输入字符),所以不要将其添加到数组中。
if (inputEl.value.trim()) myLead.push(inputEl.value)