2012-12-28 5 views
1

는이 같은 형태가 있습니다자바 스크립트로 양식 루프를 반복 하시겠습니까?

<form name="calc" action="" id="calc"> 
<?php for($i=0; $i<15; $i++) { ?> 
<input type="text" name="txt1[$i]" onkeyup="calcNumber()"/> 
<input type="text" name="txt2[$i]" onkeyup="calcNumber()"/> 
<input type="text" name="txt3[$i]" onkeyup="calcNumber()"/> 
<span id="tot[$i]"></span> 
<?php } ?> 
</form> 

을 그리고 이것은 자바 스크립트 코드입니다 : 하나

<script type="text/javascript"> 
function calcNumber() { 

for(var j=0; j<15; j++) { 

var totNumber[j] = document.calc.txt1[j].value + document.calc.txt2[j].value + document.calc.txt3[j].value; 

document.getElementById('tot[j]').innerHTML = totNumber[j]; 
} 

} 
</script> 

오류가 없습니다 .. 그러나 결과가 없습니다. 제가 잘못한 것을 알려주십시오. 감사.

+0

'id'는'name'이 아닙니다 – mkoryak

+0

PHP뿐만 아니라 출력 HTML도 게시하십시오. – Dennis

+0

@mkoryak이 입력 필드를 작성해야한다는 의미입니까? –

답변

0

tot에 이 아닌 tot 뒤에 배열을 삽입하면 문제가 발생했습니다.

많은 도움을 주셔서 감사합니다.

0

다음과 같이 html을 수정하십시오.

<input type="text" name="txt1[<?php echo $i;?>]" onkeyup="calcNumber()"/> 
<input type="text" name="txt2[<?php echo $i;?>]" onkeyup="calcNumber()"/> 
<input type="text" name="txt3[<?php echo $i;?>]" onkeyup="calcNumber()"/> 
<span id="tot[<?php echo $i;?>]"></span> 

그리고 당신의 자바 스크립트의 현재 행 :

document.getElementById('tot[' + j + ']').innerHTML = totNumber;

totNumberarray하지 않으며,이 경우에있을 필요는 없습니다.

문제

은 내부 <?php ?> 태그 아니기 때문에 귀하의 렌더링 된 HTML이 정확하게 당신이 당신의 질문에 제공되는 HTML이 $i이 번호로 대체되지 않습니다됩니다.

+0

당신의 html을 고치고 입력에'id' 속성을 포함하는 것을 잊지 마십시오;) – mkoryak

+0

점 설명에 감사드립니다. 이제 나는 그 문제를 그 형식으로 이해했다. 그러나 나는 왜 아직도 그것을 작동시키지 못했는지 모른다. 필드는 여전히 비어 있습니다. –

관련 문제