怎么在表单元素上使用映射方法

原学程将引见若何在表单位素上应用映照办法的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

成绩描写

我想创立1个表单位素的一切称号的列表。
然则,应用以下代码时,我获得了毛病:
“inputs.map没有是函数”

我晓得inputs没有是数组,但是我没有肯定怎样使This.map起感化?

数据-lang=”js”数据-隐蔽=”假”数据-掌握台=”真”数据-巴贝我=”假”>

function process(form) {
  console.dir(form)
  var inputs = form.elements
  for (let i = 0; i < inputs.length; i++) {
 console.log(i+':'+inputs[i].name+': '+inputs[i].value);
  }
  let names = inputs.map( e => e.name )

  console.log(names)
}
<form name=form一 method=none>
firstname: <input name=lastn value="a" type=text>
<br>lastname: <input name=firstn value="b" type=text>
<br>zipcode: <input name=zip value="c" type=text>
<br>ip: <input name=ip value="一二七.0.0.一" type=text disabled>
<br><input onclick="process(this.parentNode)" name=button type=button value="register">
</form>

btw要运转代码,您必需单打”注册”按钮(由于这是1个”onClick”挪用)

推举谜底

HTMLFormElement.elements是1个HTMLFormControlsCollection,它是1个相似数组的对于象,而没有是1个现实的数组。应用Array.from()将其转换为数组:

数据-lang=”js”数据-隐蔽=”假”数据-掌握台=”真”数据-巴贝我=”假”>

function process(form) {
  var inputs = Array.from(form.elements)

  const names = inputs.map(e => e.name)

  console.log(names)
}
<form name=form一 method=none>
  firstname: <input name=lastn value="a" type=text>
  <br>lastname: <input name=firstn value="b" type=text>
  <br>zipcode: <input name=zip value="c" type=text>
  <br>ip: <input name=ip value="一二七.0.0.一" type=text disabled>
  <br><input onclick="process(this.parentNode)" name=button type=button value="register">
</form>

佳了闭于怎样在表单位素上应用映照办法的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。

0
没有账号?注册  忘记密码?