我正在尝试测试一个简单的<input>
项目,然后将内容打印到控制台。我有一个文本框,并将插入一些文本,然后希望看到打印到控制台的数据,但这并没有发生。实际上,我正在尝试测试一个更复杂的项目,将<input>
设置为JSON,然后在不知道它是哪种JSON或JSON字段数量的情况下读取字段。
var input = document.getElementById('my-text-box').value;
var jsonString = JSON.stringify(input);
console.log(document.getElementById('my-text-box').value);
try {
/*
message_content = JSON.parse(input);
var message = JSON.parse(input);
for (var key in message) {
var keyjson = message[key];
if (typeof infoJSON !== "object") {
console.log(keyjson)
}
}
*/
} catch (e) {
error = true;
log.error('Something went wrong', e)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<input id="my-text-box"></input>
发布于 2018-07-27 04:01:54
首先,Element.value()
不是一个函数,所以改用Element.value
,这只对输入元素有效。
其次,var input
总是被分配一个空字符串,因为它是在任何字符进入输入元素之前执行的,以避免使用以下内容:
input.addEventListener( 'change', function(){
inputVal = JSON.stringify( this.value );
console.log( inputVal );
})
发布于 2018-07-27 03:40:29
你的第一行:
var input = document.getElementById('my-text-box').value();
应该是
var input = document.getElementById('my-text-box').value;
由于value是一个不是函数的属性,因此它是一个字符串。
发布于 2018-07-27 03:49:14
试试这个
var textArea = document.getElementById("text");
textArea.addEventListener("change", function() {
console.log(this.value);
});
<textarea id="text"></textarea>
https://stackoverflow.com/questions/51546359
复制相似问题