Ir para conteúdo

POWERED BY:

Arquivado

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

Ilano

Efetuando Cálculo em tempo de execução

Recommended Posts

Olá pessoal,

 

Estou fazendo uma aplicação web e tenho alguns TextBox q recebem valores numéricos e preciso q, ao sair de cada campo, seja efetuado um cálculo, por exemplo:

Em uma pesquisa, tenho:

TextBox1 => Informo a quantidade de funcionários do sexo feminino

TextBox2 => Informo a quantidade de funcionários do sexo masculino

 

Ao sair de cada campo, preciso q seja feito o cácluo da soma destes dois e a porcentagem desse total para serem exibidas em dois labels. Como faço isso?

 

Grato,

 

Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça uma sub, neste sub verifique, caso as propriedades texto de ambos os TextBox sejam diferente de branco então faça a soma.

Para chamar esta função logo ao sair do seu campo, você deve setar a propriedade AutoPostBack como True de ambos e utilizar o evento TextChanged dos TextBox.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá quintelab.

 

Bom, eu resolvi usando javascript, pelo menos assim não é feito o post back.

 

Só q agora, estou tentando usar a mesma idéia para campos contidos em um DataGrid, mas não está dando certo.

 

Script somando os campos do post anterior (esse está fazendo beleza), pos todos os campos estão fora do DataGrid:

 

function CalculaSexo()

{

var Parametro1=document.getElementById('TxtMasculino').value;

var Parametro2=document.getElementById('TxtFeminino').value;

var Soma=((parseInt(Parametro1))+(parseInt(Parametro2)));

document.getElementById('TxtTotal').value=Soma;

document.getElementById('PercMasculino').value=(((parseInt(Parametro1)) * 100) / parseInt(Soma)).toFixed(2) + '%';

document.getElementById('PercFeminino').value=(((parseInt(Parametro2)) * 100) / parseInt(Soma)).toFixed(2) + '%';

}

 

Tanto no TxtMasculino como no TxtFeminino estou fazendo (no HTML):

OnBlur="CalculaSexo();"

 

Já para calcular os valores dentro do DataGrid, estou usando o script (neste último é onde está o problema):

 

function CalculaFaixaEtaria()

{

var Parametro1=document.getElementById('TxtTotal').value;

var Parametro2=document.getElementById('FEQuant').value;

var Total=((parseInt(Parametro1) * 100) / parseFloat(Parametro2));

document.getElementById('FEPorcento').value=((parseInt(Total)).toFixed(2));

}

 

No FEQuant estou fazendo (no HTML):

OnBlur="CalculaSexo();"

O TxtTotal é um campo q está fora do DataGrid (q está recebendo o valor do cálculo anterior), já os campos FEQuant e FEPorcento estão dentro do DataGrid.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal! Segundo o Console do Mozilla, o erro está nesta linha:

 

var Parametro2=document.getElementById('FEQuant').value;

 

O q fazer????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET » Web Applications http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Javascript / DHTML

 

Ilano mas neste caso seu problema não é mais .net é referente a JavaScript!!

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<input type="text" id="valor1"/>
<input type="text" id="valor2" onblur="calcular()" />
<p id="resultado"></p>

<script>
function calcular(){
var valor1=document.getElementById('valor1').value;
var valor2=document.getElementById('valor2').value;

var Total=((parseInt(valor1) * 100) / parseFloat(valor2));

/*Criar uma tag com o id de nome "resultado"*/
document.getElementById('resultado').innerHTML = Total;
}
</script>

TAÍ

 

um abraço \o/

 

flw's

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eddy,

 

Desde já agradeço sua atenção, mas o q daquela forma tb não deu certo. Publiquei uma imagem do meu webform para q possa facilitar o entendimento, pois acho q talvez eu tenha esquecido de dizer algo q pudesse esclarecer melhor minha dúvida.

O endereço da imagem é este: http://br.geocities.com/ilano_cf/Calculo_e...de_Execucao.jpg

 

Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verificando, novamente, no console de erros do Mozilla:

 

function CalculaFaixaEtaria()

{

var Parametro1=document.getElementById('TxtTotal').innerHTML;

var Parametro2=document.getElementById('FEQuant').innerHTML;

var Total=((parseInt(Parametro1) * 100) / parseFloat(Parametro2));

document.getElementById('FEPorcento').innerHTML=Total;

}

 

 

retorna:

 

Erro: document.getElementById("FEQuant") is null

Arquivo fonte: http://localhost:4492/Avaliacao%20de%20Dem...sas/Calculos.js

Linha: 23

 

Não sei mais o q fazer, e só falta corrigir isso para q esse webform fique pronto. :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

bah cara

aquilo ali q apliquei está certinho! funfando certo!

testei aqui e tals!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eddy Goulart,

 

Acho q o problema disso está porque os campos estão dentro de um DataGrid, ou seja, são templates.

Cara, só falta resolver isso para q este formulário seja encerrado e praticamente a aplicação tb.

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.