我很难从表单值填充新的Javascript数组

时间:2019-09-11 00:27:55

标签: javascript arrays forms creation population

我有一个从表格收集家庭信息的表格,该表格最终将用于注册新的福利计划。我想用每个人用来写入福利记录所需的值来填充数组。到目前为止,我发现的所有内容都只是创建数组值并为每个值增加索引。我需要做的是向每个数组索引添加多个元素。

我尝试的初始代码无效。我从那里的形式取值,但是当我尝试创建数组行时出错 我需要知道如何实现

当我尝试执行时,出现“无法设置未定义或空引用的属性'fname'

根据Hoyle,我知道我没有这样做,但是我似乎找不到正确的方法。 我该怎么做。

function ValidateChgFAM()
{   
   formObj = self.MAIN.document.SSform2;

   var Fname = formObj.FirstName11.value
   var Lname = formObj.LastName11.value
   var Gender = formObj.Gen11.value

var famMbrs = new Array();
    famMbrs[0].fname = formObj.FirstName11.value
    famMbrs[0].lname = formObj.LastName11.value
    famMbrs[0].gender = formObj.Gen11.value
    famMbrs[0].birthdate = formObj.Birthdate11.value
    famMbrs[0].seq = "01"

当我尝试执行此操作时,收到消息“无法设置未定义或空引用的属性'seq'。

我不使用Javascript,但是我一直在使用此系统,因此我通常可以找出问题所在。

1 个答案:

答案 0 :(得分:1)

一个更简单,更优雅的解决方案:

const famMbrs = [];

const member = {
  fname: formObj.FirstName11.value,
  lname: formObj.LastName11.value,
  gender: formObj.Gen11.value,
  birthdate: formObj.Birthdate11.value,
  seq: '01'
}

famMbrs.push(member)

将导致:

Array(
  0: {
    fname: (value),
    lname: (value),
    gender: (value),
    birthdate: (value),
    seq: '01'
  }
)