JavaScript中出现[object HTMLTextAreaElement]返回值的问题求助
问题排查与解决
问题根源
[object HTMLTextAreaElement]是JavaScript把DOM元素对象转为字符串时的默认输出,核心问题出在codeDecoded的取值逻辑:
你调用decode函数时传入的是整个<textarea>DOM元素(document.getElementById('input')),如果你的decode函数没有从这个元素里提取value属性(即用户输入的文本),直接把元素本身赋值给了codeDecoded,就会出现这个结果。
两种解决办法
办法一:修改函数调用参数
把按钮的点击事件改成传入输入框的文本内容而非DOM元素:<button onclick="decode(document.getElementById('input').value)" class="btn btn-primary">Decode</button>对应的
decode函数直接接收文本参数处理:function decode(inputText) { // 此处添加你的解码逻辑,比如 let codeDecoded = 解码处理(inputText); document.getElementById("output").value = codeDecoded; }办法二:在函数内部获取元素的value
保持现有调用方式不变,在decode函数里手动提取输入框的实际内容:function decode(inputElement) { // 先获取输入框的文本内容 let inputText = inputElement.value; // 此处添加你的解码逻辑,得到codeDecoded document.getElementById("output").value = codeDecoded; }
内容的提问来源于stack exchange,提问作者0mgRod
相关产品推荐
相关产品推荐

