当数组在输入文本框中没有文本时如何停止输出?

How to stop the output when the array has no text inside the input textbox?

提问人:Vincent Nguyen 提问时间:3/18/2023 更新时间:3/18/2023 访问量:35

问:

当我按下 SAVE INPUT 按钮时,我在这里遇到了麻烦。我希望当我在框内输入文本,然后单击 SAVE INPUT 时,输出将是我输入的值(我初始化了一个数组并且它有效),但是当我没有在文本框中放置任何东西并单击 SAVE INPUT 时,它将返回 <li> 元素符号。当我不输入任何内容时,我怎样才能使代码中断?这是我的代码:

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:没有值的输入

    输入:输出:

    (我的代码不适用于这种情况!输出显示”

  • “符号每次我点击保存输入)

  • JavaScript 数组循环 变量 输入

    评论

    0赞 pilchard 3/18/2023
    这回答了你的问题吗?空输入字段的 JavaScript 验证
    0赞 pilchard 3/18/2023
    如何防止在将数据推送到数组中时附加空字符串或空 (“”) 值?

    答:

    1赞 Unmitigated 3/18/2023 #1

    您可以使用从字符串中删除所有前导和尾随空格。如果修整后值为空,则只输入了空格字符(或没有字符),因此不要将其添加到数组中。trim

    if (inputEl.value.trim()) myLead.push(inputEl.value)