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

问题描述 投票:0回答:1

我在按下保存输入按钮时遇到了麻烦。我希望当我在框中输入文本,然后单击“保存输入”时,输出将是我输入的值(我初始化了一个数组并且它有效),但是当我没有在文本框中放置任何内容时,并且点击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)
    
  • javascript arrays loops variables input
    1个回答
    1
    投票

    您可以使用

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

    if (inputEl.value.trim()) myLead.push(inputEl.value)
    
    © www.soinside.com 2019 - 2024. All rights reserved.