javascript - 如何将文本框中的值加载到变量中

标签 javascript

我正在寻找将值从文本框加载到变量中的方法。

我已经尝试过:

<p>
<textarea id="Text" name="Text" rows="6" cols="36"></textarea>
</p>
<p>
<input type="button" name="Button" value="Do it" onclick="javascript:job()" />
</p>
    function job() {

      var data = {};

      data = document.getElementById("Text").value;

      // other part of code
    }

这个方法行不通。如果我将数据放入 {} 脚本就可以完美运行

工作示例:

var data = {
    "Something1": "Otherthing1",
    "Something2": "Otherthing2",
    "Something3": "Otherthing3",
};

但是数据每次都不同,这就是为什么我需要从用户输入加载它

编辑: 好吧,控制台的工作脚本返回的数据为

Object {Something1: "Otherthing1", Something2: "Otherthing2"} 

没有其他事情通过。

最佳答案

  1. 删除 javascript: 标签。不需要

  2. 如果您想将 JSON 粘贴到文本字段中,则需要使用 JSON.parse:

function job() {
  var data = JSON.parse(document.getElementById("Text").value);
  console.log(data);
}
<p>
  <textarea id="Text" name="Text" rows="6" cols="36">{"1": "49.9138756N, 16.6112022E", "2": "50.0225236N, 15.7659417E"}</textarea>
</p>
<p>
  <input type="button" name="Button" value="Do it" onclick="job()" />
</p>

<小时/>

第一次尝试用有限的信息回答这个问题:

您的代码似乎可以在这里工作:https://jsfiddle.net/mplungjan/bodmshj4/

function job() {
  var data = {};
  // example 1
  data["text"] = document.getElementById("Text").value;
  console.log("Example 1",data);
  // example 2
  data = document.getElementById("Text").value;
  console.log("Example 2",data);
  // example 3
  data = { 
   "text":document.getElementById("Text").value,
   "Something2": "Otherthing2",
   "Something3": "Otherthing3"
  }  
  console.log("Example 3",data);
}
<p>
  <textarea id="Text" name="Text" rows="6" cols="36"></textarea>
</p>
<p>
  <input type="button" name="Button" value="Do it" onclick="job()" />
</p>

但可能不是你所期望的那样。

var data = {} 

将一个空对象分配给数据。

data = document.getElementById("Text").value; 

用字符串覆盖对象。

也许其中之一就是您想要的

var date = {} using 
data["text"] = document.getElementById("Text").value; 

data["text"] = document.getElementById("Text").value; 

将设置一个data.text值 -

var data = { 
   "text":document.getElementById("Text").value
}  

也适合你。

关于javascript - 如何将文本框中的值加载到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37180977/

相关文章:

javascript - 当我单击主组/按钮阵列中的一个按钮时如何显示一组按钮

javascript - 包含外部 CSS 文件是否安全,或者是否会导致代码注入(inject)?

javascript - 如何在 javascript 中获取服务器端 cookie 值?

javascript - 单个 onEdit 函数有效 - 多个相同的函数不起作用

javascript - Firebase - 如何获取过去 x 天内有人评论的所有帖子

javascript - 使用 JQuery 解析 JSON 数组

javascript - 在 JavaScript 中,如何按 asc/desc 对数组数组进行排序

javascript - 如何在类构造函数中添加限制?

javascript - 如何消除滚动时的弹跳?

javascript对象都是一样的