填写表格,使用 getElementInfo 获取输入名称
filling forms, get input name with getElementInfo
我尝试动态获取字段的名称,但失败了。如果我在引号之间写名字,它会起作用。
var elms = this.getElementsInfo('select');
var name1 = elms[0].attributes.name;
var name2 = elms[1].attributes.name;
utils.dump(name1); // "tb|2564"
utils.dump(name2); // "tb|19"
这个有效:
this.fill('form#tbsa', {
"tb|2564": 10,
"tb|19": 15
}, true);
这失败了:
this.fill('form#tbsa', {
name1: 10,
name2: 15
}, true);
有人知道为什么吗?
谢谢,
- 阿尔宾
您不能按照目前的方式进行操作,因为这将设置属性 name1
和 name2
.
的值
如果你想通过变量中的参数名称访问它,你必须先创建对象。
这将是以下代码:
var foo = {};
foo[name1] = 10;
foo[name2] = 15;
this.fill('form#tbsa', foo, true);
我尝试动态获取字段的名称,但失败了。如果我在引号之间写名字,它会起作用。
var elms = this.getElementsInfo('select');
var name1 = elms[0].attributes.name;
var name2 = elms[1].attributes.name;
utils.dump(name1); // "tb|2564"
utils.dump(name2); // "tb|19"
这个有效:
this.fill('form#tbsa', {
"tb|2564": 10,
"tb|19": 15
}, true);
这失败了:
this.fill('form#tbsa', {
name1: 10,
name2: 15
}, true);
有人知道为什么吗? 谢谢, - 阿尔宾
您不能按照目前的方式进行操作,因为这将设置属性 name1
和 name2
.
如果你想通过变量中的参数名称访问它,你必须先创建对象。
这将是以下代码:
var foo = {};
foo[name1] = 10;
foo[name2] = 15;
this.fill('form#tbsa', foo, true);