Ir para conteúdo

POWERED BY:

Arquivado

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

William Bruno

[Resolvido] ID sem "onchange", atualizar valores da conta

Recommended Posts

Possuo o seguinte script, que me pareceu bastante complicado de início, mas que com um pouco de testes, consegui entender.

function organizacao(nome){
	nome2 = nome.substring(0,(nome.length-5)); 
	numero = nome.substring(10,(nome.length-2));
	
	e = nome2 + 'PrecoUnit' + numero;
	f = nome2 + 'Qtd' + numero;
	g = nome2 + 'Total' + numero;
	
	val1 = parseFloat(document.getElementById(e).value)*100;
	val2 = parseFloat(document.getElementById(f).value);
	document.getElementById(g).value = Math.round(val1*val2)/100;
}
e a parte "html", é esta:

<td><input name="opcaoPrecoUnit01"   type="text" id="opcaoPrecoUnit01"   onkeypress="return(MascaraMoeda(this,'','.',event))" value="" size="6" /></td>
	<td><input name="opcaoQtd01" type="text" id="opcaoQtd01" onchange="organizacao(this.name)" value="" size="3"/></td>
	<td><input name="opcaoTotal01" type="text" readonly="true"  id="opcaoTotal01" value="" size="8" /></td>

Tentei ser o mais simples possivel nos códigos, retirando a parte php, e html que não interessam à esta duvida.

Acontece o seguinte até onde entendi:

 

Alguem entra com um valor no "opcaoPrecoUnit01"(100 por exemplo), e com a qntidade(2 duas), em "opcaoQnt01", e a função "onchange", que está no "opcaoQnt01", devolve o valor 100*2 no "opcaoTotal01".

Mas o meu problema, é que o cliente, qndo está nesse formulário alterando algo, quer que apenas mudando o valor de "opcaoPrecoUnit01", lhe seja refeita a conta.

 

Sei que isso não acontece, pq a função onchange, está na id "opcaoQnt01", e ele precisa MUDAR esse valor para que a conta seja refeita...

Quero saber se há como, atualizar a conta dessa maneira...

 

 

Não sei se fui claro e simples, mas é que JS é meio obscuro para mim ainda. Agradeço de todo coração se alguma alma boa conseguir me ajudar. Precisando de algo com (x)HTML+CSS podem falar comigo(até este post, eu só lia o forum WS)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize a função "onBlur" ao inves de "onChange".. assim, quando a pessoa der o foco no segundo campo, a conta será feita, sem q ela precise alterar o valor do textfield..

 

Abraços...

 

PS: Não esqueça de fazer uma verificação no campo, pois se ao der o foco no campo, e o mesmo estiver vazio, a função não fará aa conta.. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa... muito obrigado Darkdemo!

Ajudou pacas cara.... eu vou pesquisar sobre Java sim... para ver como faço a verificação ^^

 

É que eu já estava me matando em cima disso, e não manjo de JS o suficiente para resolver sozinho, e nem continuar procurando sem saber exatamente oque tinha que procurar.

Pode encerrar o tópico... vlw mesmo!

 

Precisar de algo em CSS, estamos ai =)

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.