JSON with document.getElementById()

JSON with document.getElementById()

本文关键字:getElementById document with JSON      更新时间:2023-09-26

我对这个json有点困惑。我可以在没有document.getElementById("anID")的情况下手动键入json;而且效果很好。我不断得到未终止的字符串文字。有人能告诉我组合〔multiple〕document.getElementById()并通过json发送它们的正确方法吗?

var form = '{"first_name":"'+document.getElementById("first_name").value+'",
             "last_name":"'+document.getElementById("last_name").value+'"}';
var form = JSON.parse(form);       
    alert(form['first_name']);
    alert(form.last_name);

这很有效。我想这就是你想要弄清楚的:

var form = {"first_name":document.getElementById("first_name").value,
                 "last_name":document.getElementById("last_name").value};
console.log(form.first_name);
console.log(JSON.stringify(form));

我突然想到,这可能是你真正想要的。你需要清理你的报价,然后使用一点eval():

var form = {"first_name":"document.getElementById('first_name').value",
             "last_name":"document.getElementById('last_name').value"};
var runThatFunction = eval(form.first_name);    
console.log(runThatFunction);

您只需构建这样的Javascript对象-

var show = function() {
  var form2 = {};
  form2.first_name = document.getElementById("first_name").value;
  form2.last_name = document.getElementById("last_name").value;
  alert(form2['first_name']);
  alert(form2.last_name);
};
<input type="text" id="first_name" value="Eric" />
<input type="text" id="last_name" value="Johnson" />
<a href="#" onclick="show()">Click me!</a>