簡體   English   中英

從文本框中獲取空字符串或空值

[英]Getting empty string or null value from textbox

我正在嘗試測試一個簡單的<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>

這是一個 JSFiddle

你的第一行:

 var input = document.getElementById('my-text-box').value();

應該

 var input = document.getElementById('my-text-box').value;

由於 value 是一個不是函數的屬性,因此它是一個字符串。

首先Element.value()不是一個函數,所以改用Element.value這僅對輸入元素有效。

其次, var input總是被分配一個空字符串,因為它在任何字符進入 input 元素之前執行,以避免使用以下內容:

input.addEventListener( 'change', function(){ 
       inputVal = JSON.stringify( this.value ); 
       console.log( inputVal ); 
    })

嘗試這個

 var textArea = document.getElementById("text"); textArea.addEventListener("change", function() { console.log(this.value); });
 <textarea id="text"></textarea>

要獲取輸入的值,請這樣做

console.log(document.getElementById('my-text-box').value);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM