Javascript 从HTML输入中检索多个值并存储在JSON键中,值为[Array]
大家晚上好 我目前正在使用谷歌地图api。 谷歌地图要求使用json格式来设置方向 如果我创建自己的json对象,一切都可以正常工作,但我希望从输入字段检索数据并将其存储在json对象中 现在我可以从输入字段中检索1个值并存储它。但是我想检索多个值。这是在地图上设置方向所必需的。我需要找到一种方法将json对象中的多个值存储为数组。纠正我的错误如果我写错了一些东西,我不是专家:) “键”:“数组” 参见下面的示例+代码 这就是我需要尝试得到的: 一个用户来到页面,看到两个输入字段,他填写阿姆斯特丹和罗马,但他总是需要巴黎。因此,用户按下+图标。另一个输入字段出现,他填写巴黎。当用户提交时,下面必须是输入字段的json结果Javascript 从HTML输入中检索多个值并存储在JSON键中,值为[Array],javascript,html,arrays,json,maps,Javascript,Html,Arrays,Json,Maps,大家晚上好 我目前正在使用谷歌地图api。 谷歌地图要求使用json格式来设置方向 如果我创建自己的json对象,一切都可以正常工作,但我希望从输入字段检索数据并将其存储在json对象中 现在我可以从输入字段中检索1个值并存储它。但是我想检索多个值。这是在地图上设置方向所必需的。我需要找到一种方法将json对象中的多个值存储为数组。纠正我的错误如果我写错了一些东西,我不是专家:) “键”:“数组” 参见下面的示例+代码 这就是我需要尝试得到的: 一个用户来到页面,看到两个输入字段,他填写阿姆斯特
"locatie" : ["Berlin", "Amsterdam", "Paris", "Rome"]
这是我的表格:
<form onsubmit="return make_json(this);">
Locatie: <input type="text" name="locatie">
<input type="submit" name="" value="Make Trip">
</form>
在google maps api中,我调用函数并使用json:
var jsonArray = make_json();
您可以声明一个数组,并在单击按钮时将值按入数组
//声明位置数组
var位置=[];
//按钮绑定
var locationButton=document.getElementById(“addNewLocation”);
locationButton.onclick=addNewLocation;
var displayJsonButton=document.getElementById(“displayJsonObject”);
displayJsonButton.onclick=displayJsonObject;
//按钮功能
函数addNewLocation(){
var location=document.getElementById(“locationText”).value;
位置。推(位置);
document.getElementById(“locationText”).value=“”;
}
函数makeJsonObject(){
var json={
地点:地点
}
返回json;
}
函数displayJsonObject(){
var obj=makeJsonObject();
控制台日志(对象位置);
}
添加
显示JSON
如果您想在添加新位置之前继续显示输入的位置,也可以尝试此操作
函数addInput(){
var input=document.createElement('input');
输入.setAttribute(“类型”、“文本”);
input.setAttribute(“名称”、“位置[]”);
输入。追加子项(输入);
}
函数make_json(){
var form=document.querySelector(“表单”);
var值=[];
变量位置=形式['locatie[]'];
if(位置、长度){
位置。forEach(函数(输入){
value.push(输入值);
});
}否则{
值。推送(位置。值);
}
var json={
“地点”:价值观
};
log(json);
返回json;
}
地点:
+
如何输入它们?用空格隔开?我不把它们分开,我只能填一个位置,我需要找到一种方法来添加多个位置。因此,当有人想添加另一个位置时,他们会按+图标。另一个输入字段出现,他们可以添加另一个位置,依此类推。@Marc-没问题,很乐意帮助:-)
var jsonArray = make_json();