获取数组形式的TextArea输入值,forEach使用Javascript循环console.log中的值

9jyewag0  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(141)
function someSample() {
    let textAreaTag = document.getElementById('textAreaId');
    let textAreaVal = textAreaTag.value;
    let textAreaSplit = textAreaVal.split('');
    
    textAreaTag.addEventListener('input', () => {
        textAreaSplit.forEach((val, ind) => {
            console.log(val);
        });
    }); 
}   

someSample();

没有文本区域输入字段,所以首先我在文本区域中键入任何文本时提供了addEventListener,文本区域文本的值应获得forEach循环,循环数组应显示在console.log中。但现在循环数组显示为空白或未定义。

zpqajqem

zpqajqem1#

你只需要移动两行代码。
someSample获取textarea的初始值,它将是一个空字符串。然后,它添加一个事件侦听器,每当文本区域中的输入发生变化时,该侦听器都会触发。问题是,您没有随着每次输入变化更新textAreaVal,而只是使用初始的空字符串。在输入发生变化时,您需要获取值,拆分值,然后循环执行。someSample应如下所示:

function someSample() {
    let textAreaTag = document.getElementById('textAreaId');
    
    textAreaTag.addEventListener('input', () => {
        let textAreaVal = textAreaTag.value;
        let textAreaSplit = textAreaVal.split('');
        textAreaSplit.forEach((val, ind) => {
            console.log(val);
        });
    }); 
}

相关问题