javascript - 如何将动态变量传递给 opener.window.form?
问题描述
访问变量时如何使用动态参数名称?
例子:
opener.document.form.namerow_3.value = this.cells[0].innerHTML;
opener.window.form.{varaible}.value=this.cells[0].innerHTML;
在这种情况下,变量将是namerow_3
,它将根据用户选择而改变。
我该如何解决这个问题?
解决方案
如果我正确理解您的问题,那么您正在尝试访问表单对象的动态属性。您可以通过访问这样的对象来做到这一点:
// 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"])。
推荐阅读
- react-native - 在 Expo 应用程序中使用 Auth0 获取 id_token
- angular - CSS Grid 可以用网格容器的非直接子元素填充网格区域吗?还是网格容器外的元素?
- c# - System.ComponentModel.Win32Exception:“系统找不到指定的文件”
- sql-server - 从日期/时间列中删除日期
- batch-file - 复制具有相同名称但不同扩展名的文件列表
- android - React Native : Could not find com.android.tools.build:gradle:2.2.3
- c# - C#我如何要求管理员,而不是“强迫”他
- dotnetnuke - Dot Net Nuke 9 创建站点模板
- json - Azure ARM - 内联条件语句
- python-2.7 - 使用 Cloud Endpoints 指定 AppEngine 服务