我是JavaScript和jQuery新手。我认为,这是一个简单的JavaScript语法错误,并且提供了一个我无法理解的简单解决方案。
我正在尝试使用push()方法将值附加到一维数组。特定的代码行是
arrayOfValues = arrayOfValues.push(
value['value']
);
我收到“未捕获的TypeError:arrayOfValues.push不是函数。”
我想在一个提交事件中捕获表单数据,并为表单中每个项目的值创建一维数组。
这是my site。
这是the particular page,具有表单。
我已经成功捕获了formData,它是一个对象数组,每个对象的格式为{name, value}
对。我想创建值的一维数组。
整个JavaScript是:
function captureSubmitEvent(evt) {
array = $('form').serializeArray();
console.log('==> ** Submit Event Captured ** <==');
console.log('Log evt : ' + evt);
console.log('Log evt.target : ' + evt.target);
console.log('Log serializeArray : ' + JSON.stringify(
array
));
console.log('Log array : ' + array
);
var formData = new FormData();
formData = array;
var arrayOfValues = [];
for(var value of formData.values()){
console.log(value['value']);
arrayOfValues = arrayOfValues.push(
value['value']
);
};
for(var i = 0; i < arrayOfValues.length; i++){
console.log(arrayOfValues[i]
);
};
};
addEventListener('submit', captureSubmitEvent);
控制台的屏幕截图太小,难以阅读,无论如何我都没有信誉。所以,我在这里复制并复制了内容。
==> **捕获捕获的提交事件** <==
test-register-2019:69 Log evt:[对象事件]
test-register-2019:70记录evt.target:[object HTMLFormElement]
test-register-2019:71日志serializeArray:
[
{“名称”:“电子邮件”,“值”:“ website.fhc@gmail.com”},
{“名称”:“ fname”,“值”:“史蒂夫”},
{“ name”:“ lname”,“ value”:“ Alexander”},
{“名称”:“ select-yui_3_17_2_1_1462088435634_39626-field”,“值”:“不确定”},
{“名称”:“ select-yui_3_17_2_1_1462088435634_40427-field”,“值”:“不确定”},
{“名称”:“ select-yui_3_17_2_1_1462088435634_41125-field”,“值”:“不确定”},
{“名称”:“ select-yui_3_17_2_1_1462088435634_41882-field”,“值”:“不确定”},
{“名称”:“ select-yui_3_17_2_1_1462088435634_43262-field”,“值”:“不确定”},
{“名称”:“ select-yui_3_17_2_1_1464136532166_31165-field”,“值”:“不确定”}
]
test-register-2019:74日志数组:[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象]-test-register-2019:80
website.fhc@gmail-测试注册-2019:80
Steve-test-register-2019:81
未捕获的TypeError:arrayOfValues.push不是函数 在captureSubmitEvent(test-register-2019:81)上-captureSubmitEvent @ test-register-2019:81
第81行是arrayOfValues.push()行,在上面被标识为产生错误的行。
所以问题是:
为什么会出错?
什么是生成arrayOfValues []的正确JavaScript代码?