【问题标题】:Get form elements as associative array?获取表单元素作为关联数组?
【发布时间】:2013-06-23 21:54:35
【问题描述】:

我对 html 表单元素名称作为关联数组有疑问。

<form name="ff" action="" method="POST">
<input name="student[john]" value="John">
<input name="student[kofi]">
<input name="student[kwame]">
<input type="submit" name="submit">
</form>
<a onclick="alert(document.ff.student[john].value);">a<a>

我收到 JS 错误:“未捕获的异常:ReferenceError:未定义的变量:john”

但此代码适用于不带方括号的表单元素名称。

UPD:

我很困惑如何从无线电元素中获取值(它表示为一组具有相同名称的无线电)

【问题讨论】:

  • document.ff.student[john] 被解释为 document.ff.student 是一个对象,并且您正在尝试访问其名称存储在变量 john 中的属性。
  • UPD:我很困惑如何从 radio 元素中获取值(它表示为一组具有相同名称的 radios
  • stackoverflow.com/q/604167/218196 有几个解决方案。

标签: javascript html forms dom


【解决方案1】:

您必须使用方括号表示法来访问带有特殊字符的属性

<a onclick="alert(document.ff['student[john]'].value);">a<a>

DEMO

【讨论】:

    【解决方案2】:

    元素名称不是数组。

    试试:

    document.ff.elements['student[john]'].value
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-27
      • 2010-11-07
      • 2011-02-28
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多