首页 > 解决方案 > 如何将动态变量传递给 opener.window.form?

问题描述

访问变量时如何使用动态参数名称?

例子:

opener.document.form.namerow_3.value  = this.cells[0].innerHTML;
opener.window.form.{varaible}.value=this.cells[0].innerHTML;

在这种情况下,变量将是namerow_3,它将根据用户选择而改变。

我该如何解决这个问题?

标签: javascripthtml

解决方案


如果我正确理解您的问题,那么您正在尝试访问表单对象的动态属性。您可以通过访问这样的对象来做到这一点:

// Base example of how to access namerow_3
opener.document.form.namerow_3.value  = this.cells[0].innerHTML;

// Example with static accessor name
opener.document.form["namerow_3"].value = this.cells[0].innerHTML;

// Example with variable
var propName = "namerow_3";
opener.document.form[propName].value = this.cells[0].innerHTML;

由于 JavaScript 中的大多数常规对象基本上都是 hashmap,因此您通常可以通过指定它的键来访问对象属性,就像您使用数组的索引一样(在本例中为 form["namerow_3"])。


推荐阅读