Javascript 将数据从表单传递到类似JSON的对象
我的表单如下所示:Javascript 将数据从表单传递到类似JSON的对象,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我的表单如下所示: <form name="input"> name: <input type="text" id="name"> data1: <input type="text" id="data1" value=110> data2: <input type="text" id="data2" value=2 > data3: <input type="text" id="data2" value=3> data4: <
<form name="input">
name: <input type="text" id="name">
data1: <input type="text" id="data1" value=110>
data2: <input type="text" id="data2" value=2 >
data3: <input type="text" id="data2" value=3>
data4: <input type="text" id="data2" value=4>
<input onclick="return inject();" type="submit" value="submit">
</form>
假设我想通过高度传递变量data1
所以我创建了一个方法
function injection(){
var data_1 = = document.getElementById("data1").value;
.
.
//repetition the first variable and method up to data4
}
它不工作,但我可以像上面那样将数据_1放入对象中吗?
当我单击submit时,它应该会更新变量。不完全清楚您在问什么,但下面是一个更新表单submit上对象的快速示例。如果希望使用相同的数据填充表单,则这是任务的一半。您可能已经创建了它。
<form id="demo">
name: <input type="text" name="name">
data1: <input type="text" name="data1" value="110">
data2: <input type="text" name="data2" value="2" >
data3: <input type="text" name="data3" value="3">
data4: <input type="text" name="data4" value="4">
<input type="submit" value="submit">
</form>
演示:
重量是硬编码的,或者您想从文本框中更新?这可能会对您有所帮助::重量将被更新,但在此之前,我想先测试一下身高是否正常。您至少可以显示语法正确的代码,以及没有明显不一致的代码。例如,
inject()
vsinjection()
,==
,var plotting()
和这些随机的
字符。请对您的问题给予更多的关注。很抱歉,我无法复制和粘贴我的全部代码,因此,我重新编写了它。我会用精心安排的问题表格提问。
<form id="demo">
name: <input type="text" name="name">
data1: <input type="text" name="data1" value="110">
data2: <input type="text" name="data2" value="2" >
data3: <input type="text" name="data3" value="3">
data4: <input type="text" name="data4" value="4">
<input type="submit" value="submit">
</form>
var plotting = {};
// Update object on form submit
document.getElementById('demo').addEventListener('submit', function(e) {
var i = 0;
while(e.target[i]) {
var input = e.target[i];
if(input.type != 'submit' && input.name) {
plotting[input.name] = input.value;
}
i++;
}
e.preventDefault();
}, false);