Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

brdesigner_gyn

em Loop

Recommended Posts

Bom dia galera, bom dps dos problemas com o cálculo com arrays, estou com mais um problema, naquele msm script.

Bom é o seguinte, eu consegui fazer o cálculo através de buscar o nome do campo no form, mah igual eu falei, é uma repetição, ou seja se tem 3 loops, e cada loop tem 8 campos, isto significa q serão 24 campos.

da seguinte maneira:

 

<?	for ($i=1;$i<=$qnt;$i++) {	?>	<tr>	<input type="hidden" name="x<?=$i?>" value="<?=$i?>">	<td width="110" height="20"  class="txtprom" align="center"><input type="text" name="item" value="<?=$i?>" size="5" class="news" disabled style="background-color:#FFFFFF;"></td>							<input type="hidden" name="item<?=$i?>" value="<?=$i?>">	<td width="390" height="20" class="txtprom" align="center"><input type="text" name="prod<?=$i?>" size="65" class="news"></td>	<td width="90" height="20" class="txtprom" align="center"><input type="text" name="qntprod<?=$i?>" id="qntprod<?=$i?>" size="10" class="news"></td>	<td width="90" height="20" class="txtprom" align="center"><input type="text" name="vlunit<?=$i?>" id="vlunit<?=$i?>" size="10" class="news" onBlur="return cTot()"></td>		<td width="90" height="20" class="txtprom" align="center"><input type="text" name="total<?=$i?>" size="10" class="news" disabled style="background-color:#FFFFFF;"></td>								<input type="hidden" name="vltot<?=$i?>">	</tr>	<?	}	?>	</form>	<?			}	?>
conforme o exemplo os campos vão pegar os nomes, não esqcendo q serão 3 loops:

x1

item1

....

dps:

x2

item2

...

e o outro loop:

x3

item3

...

 

bom meu script até o momento está assim:

 

<script language="javascript">function cTot() {var form = document.orcamento.length;for (i=0;i<form;i++){var nome = document.orcamento[i].name;if (nome == "x1") {var y = eval("document.orcamento."+nome+".value");var u = "vlunit"+y;  //valor unitário do formvar t = "vltot"+y;	 //valor total do formvar q = "qntprod"+y; //quantidade vinda do form;var v_t = "total"+y; //valor total q aparece no formvar vl_unit = parseFloat(eval("document.orcamento."+u+".value"));var quantidade = parseFloat(eval("document.orcamento."+q+".value"));var vtotal = parseFloat(vl_unit*quantidade);eval("document.orcamento."+v_t+".value="+vtotal);eval("document.orcamento."+t+".value="+vtotal);}}}</script>
não está dando certo pelo seguinte, sempre q o onBlur() do campo chama a função a variável i recebe o valor de 0.

eu preciso pegar apenas o campo com o name="x<?=$i?>, ou seja sempre com um name diferente: x1, x2, x3...

intaum no caso seria:

a primeira vez q xama a função i=0

a segunda vez q xama a função i=7

a terceira vez q xama a função i=14

 

e assim por diante, sempre 7 a mais.

e é isto q num tô conseguindo fazer, pois como falei sempre q xama a função e está i=0, ele vai atribuir o 0 à variável.

 

alguém poderia m dar uma luz, ou uma idéia, talvez até de como fazer diferente.

 

se não fui mto claro, postem aque q tento explicar melhor.

 

:/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.