Autor: Divaldo Almir Antunes
Campo calculado
30 de Julho de 2012, 9:32 - | Ninguém seguindo este artigo por enquanto.
Visualizado 2 vezes
Como eu poderia criar um campo calculado
por ex:
Tenho a largura de um lote e sua profundidade e gostaria que o campo tamanho do lote fosse calculado automaticamente multiplicando largura por profundidade.
atc
Divaldo
22 comentários
$frm->addNumberField( 'largura', 'Largurua:', 10, null, 2 )->setEvent( 'onBlur', 'calcularArea()' );
$frm->addNumberField( 'altura', 'Altura:', 10, null, 2, false )->setEvent( 'onBlur', 'calcularArea()' );
$frm->addNumberField( 'area', 'Area:', 10, null, 2, false )->setExampleText( 'm2' )->setReadOnly( true ); Javascript
<script>
function calcularArea()
{
var largura = jQuery("#largura").val();
var altura = jQuery("#altura").val();
var campoArea = jQuery("#area").get(0);
var area;
try
{
// aqui precisamos trocar a virgula por ponto para podermos fazer a multiplicacao
largura = largura.replace(new RegExp(/\./g), ''); // remove todos os pontos
largura = largura.replace(new RegExp(/,/g), '.'); // troca a virgula para ponto altura = altura.replace(new RegExp(/\./g), ''); // remove todos os pontos
altura = altura.replace(new RegExp(/,/g), '.'); // troca a virgula para ponto area = fwRoundNumber(largura * altura, 2); // funcao round para 2 casas decimais
area = String(area).replace(new RegExp(/\./g), ','); // troca o ponto por virgula
}
catch (e)
{
area = '0,00';
}
campoArea.value = area;
fwFormatarDecimal(campoArea); // formatar o campo novamente com a virgula nas casas decimais
}
</script> Abraço.