我正在尝试将一些值从输入文本框推送到 JSON 数组。这是我尝试过的
代码:
<!DOCTYPE html>
<html>
<body>
<input id="studentnumber" placeholder="Student Number"></input>
<input id="status" placeholder="Status"></input>
<button id="bt1" onclick="newUser()">Validate</button>
<p id="demo"></p>
<script type="text/javascript">
//Array
var jsonStr =
'{"G11S":[{"StudentNumber":"1","status":"Pass"},{"StudentNumber":"2","status":"Pass"},{"StudentNumber":"3","status":"Pass"}]}';
function newUser(){
x = document.getElementById("studentnumber").value;
//Debug
console.log(x);
var obj = JSON.parse(jsonStr);
obj['G11S'].push({"StudentNumber": "4","status": "Member"}); // <~~ What am I Supposed to replace the "4" with and the "Member aswell"
jsonStr = JSON.stringify(obj);
console.log(jsonStr);
}
</script>
</body>
</html>
因此,我尝试通过定义变量 (x) 将“x”插入数组以获取输入文本框的值:
x = document.getElementById("studentnumber").value;
尝试将其推送到第 25 行:
obj['G11S'].push({"StudentNumber": "4","status": "Member"});
最佳答案
您必须获取输入值并将其存储在对象变量中,然后将该变量推送到 JSON 数组中:
function newUser(){
var user = {};
user.StudentNumber = document.getElementById("studentnumber").value;
user.status = document.getElementById("status").value;
//Debug
console.log(user);
var obj = JSON.parse(jsonStr);
obj['G11S'].push(user);
jsonStr = JSON.stringify(obj);
console.log(jsonStr);
}
关于javascript - 将输入值插入 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35728641/