자바스크립트에서
for(i=0;i<10;i++){
form.(name+i).value = i;
}
뭐 이런식으로 동적으로 접근 하려고 시도를 많이 했었다
동적 테이블 -추가 삭제 만들때 많이 쓸 때가 있을 것 같은데...
자바스크립트는 프로퍼티 이름을 프로그램 실행되는 시간에
동적으로 바꿀 수가 없다고 한다. . 를 써서 접근 할때는...
그래서 찾아낸 방법이... [ ] 를 써서 form 의 하위 프로퍼티에
접근 하는 방법이다. 아래 코드의 붉은색 표시를 보면 이해가
갈 것으로 보인다. ( [ ] 안은 문자열이므로 run time 에 조작 될
수가 있다고 한다.)
form.a1.value === form[a1].value 라는 개념만 알면
굉장히 쉬운 문제 였다. (표현방식만 달라지면 되는 것이다.)
<script>
function sub(){
var fr = document.frm;
for(var i=0;i<3;i++){
fr["a"+i].value=i;
}
}
</script>
<form name="frm">
<input type="text" name="a0"></input>
<input type="text" name="a1"></input>
<input type="text" name="a2"></input><br>
<input type="button" value="sub" onclick="sub();"></input>
</form>
<form name="frm">
<input type="text" name="a0"></input>
<input type="text" name="a1"></input>
<input type="text" name="a2"></input><br>
<input type="button" value="sub" onclick="sub();"></input>
</form>
댓글