我对这个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);
答案 0 :(得分:2)
这很有效。我认为这是你想要弄清楚的:
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);
答案 1 :(得分:2)
您可以像这样构建一个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>