2017-11-06 12 views
0

나는 필드의 이름을 dinamicaly로 가져 오려고 시도합니다. 따옴표 사이에 이름을 쓰면 작동합니다.양식을 채우고 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); 

누구 이유를 아는 사람? 감사합니다, -이 속성 name1name2의 값을 설정하기 때문에 알빈

+1

을, 당신은 아닙니다으로. 이 동작은 정확합니다. – cramopy

답변

1

당신은, 당신이 순간에 수행 방법으로 그것을 할 수 없습니다.

변수의 매개 변수 이름을 사용하려면 먼저 개체를 만들어야합니다.

코드 다음과 같은 것이다 : 두 번째 문은 객체의`name2`을 porperties`name1`의 값을 설정하고 있기 때문에

var foo = {}; 
foo[name1] = 10; 
foo[name2] = 15; 
this.fill('form#tbsa', foo, true); 
+0

고맙습니다. 귀하의 솔루션이 작동합니다. 이제는 변수가 아닌 속성의 이름으로 "name1"이 필요했습니다. 나는 전에이 문제가 없었던 것 같아. – Albin