【发布时间】:2020-02-17 09:01:40
【问题描述】:
我想获取表单的输入值并将其放置在对象中(用于报价)。
所以我尝试将此代码放在提交上:
$(document).ready(function(){
$('#formOffre').on('submit', function(e) {
e.preventDefault();
console.log(Offre); // give undefined in console
if ( typeof Offre == 'undefined'){
// if undefined, create object
var Offre = {
BuyerID: 1, //I will handle this later
Total: 0,
OffreItem: [] //array with json objects
};
Offre.OffreItem.id = 0;
console.log("object created");
for (i=0; i > Offre.OffreItem.id ; i++) {
Offre.OffreItem.modele = formOffre.modele.value;
Offre.OffreItem.longueur = formOffre.longueur.value;
Offre.OffreItem.hauteur = formOffre.hauteur.value;
Offre.OffreItem.qte = formOffre.qte.value;
Offre.OffreItem.rix = formOffre.prix.value;
console.log("getting parameters of inputs to offer");
}
} else {
//if object exists ony get informations of inputs
Offre.OffreItem.id = 0;
for (i=0; Offre.OffreItem.id < i; i++){
Offre.OffreItem.modele = formOffre.modele.value;
Offre.OffreItem.longueur = formOffre.longueur.value;
Offre.OffreItem.hauteur = formOffre.hauteur.value;
Offre.OffreItem.qte = formOffre.qte.value;
Offre.OffreItem.rix = formOffre.prix.value;
}
}
这是我的代码。当我第一次单击提交时,它会转到 if 语句并创建对象。但是当我再次点击时,我会通过 if 语句,就像未设置对象一样。
我放了一个控制台日志,并且在每种情况下对象都是未定义的。
有人能帮帮我吗?
谢谢
【问题讨论】:
-
如果您希望下次运行相同的函数时可以访问
Offre,则需要在函数范围之外定义它。
标签: javascript jquery html json object