Ir para conteúdo
Fórum Script Brasil
  • 0

Atulizando campo


Marcon Leone

Pergunta

Olá amigos, boa tarde!

Algum amigo por favor, pode me dar um força aqui no meu form...

Existe 3 campos neste form, 1º valor da compra, 2º porcentagem , 3º recebe o valor total da compra com desconto! Até ai tudo bem, mais para eu poder ter esse valor final com desconto, eu tenho que clicar no botão: CALCULAR que está com o evento onClick="somaParcela(), gostaria de saber como faço para ter esse resultado no 3º campo sem clicar no botão e sim quando eu clicar dentro dele ou depois de pressionar Tab, ou já direto para o resultado como se fosse um Focus()

Desde já agradeço a todos q poderem me ajudar!

<script>
function desconto() 
{
    var subvalor_total = document.forms['newParcela'].subvalor_total.value;
    var taxa = document.forms['newParcela'].taxa.value;
    var soma = parseFloat(subvalor_total)-parseFloat((taxa)/100) * parseFloat(subvalor_total);
    
    
    document.forms['newParcela'].valor_total.value = eval(soma);
}

</script>

<form name="desconto">
<table width="191" border="0" cellpadding="2" cellspacing="2">
  <tr>
    <td width="85">Sub. Total:</td>
    <td width="92">
<input type="text" name="subvalor_total" value="<? echo number_format($valor_subtotal,2,'.','.'); ?>" size="10" maxlength="11" readonly="readonly"></td>
  </tr>
  <tr>
    <td>Taxa:</td>
    <td><input type="text" name="taxa" value="" size="10" maxlength="11"></td>
  </tr>
  <tr>
    <td>Valor Total :</td>
    <td><input type="text" name="valor_total" value="" size="10" maxlength="11"></td>
  </tr>
  <tr>
    <td colspan="2"><div align="right">
      <input name="button" type="button" onClick="somaParcela()" value="Calcular">
    </div></td>
    </tr>
</table>
</form>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Chame a função no evento onBlur do input que vai ser colocado o desconto

Olá amigo! Encontrei um script aqui no fórum já pronto, só fiz trocar o calculo dele porque o original acrescentava a porcentagem no valor da compra ex: 100,00 + 10% = 110,00.

No meu caso ao invés de acrescentar, ele diminui dando como desconto e não como acréscimo. Até ai tudo bem. Sendo q ele está retornando o valor como negativo ex: 100,00 – 3% Resultado: -97. Como posso corrigir isso? Pois não tenho conhecimento bastante com JavaScript para resolver isso você poderia resolver pra mim?

Grato pela atenção!

<script type="text/JavaScript">

window.onload = function(){        

id('taxa').onblur = function(){  
    id('valor_total').value = prec_final( id('valor_compra').value, this.value );
    }    

id('valor_compra').onblur = function(){
    id('valor_total').value = prec_final( this.value, id('taxa').value );
    }
    }
    
    function prec_final( valor_compra, taxa ){
        return (parseFloat( valor_compra )*parseFloat( taxa )/100)-parseFloat( valor_compra );
        }
        
        function id( el ){
            return document.getElementById( el )
            }

//-->
</script>

<table width="100%" border="0" cellpadding="0" cellspacing="2">
  <tr>
    <td colspan="3"><img src="../img/pixel.gif" width="2" height="2"></td>
  </tr>
  <tr>
    <td bgcolor="#DDDDDD">&nbsp;</td>
    <td width="117" bgcolor="#DDDDDD" class="menu_tit"><div align="center"><strong>N&ordm; PARCELA(s):</strong></div></td>
    <td width="87" bgcolor="#DDDDDD"><strong>
      <input name="n_parcelas" type="text" class="input" id="n_parcelas" style="height: 25px; font-size:20px;" size="1" maxlength="2" >
    </strong></td>
  </tr>
  <tr>
    <td height="14" colspan="3"><input name="v_compra" type="hidden" id="v_compra" value="<?=$dados->total_geral;?>" /></td>
  </tr>
  <tr>
    <td colspan="3"><table width="300" border="0">
      <tr>
        <td width="64"><strong>Sub Total:</strong></td>
        <td width="226"><input name="valor_compra" type="text" class="input" id="valor_compra" style="height: 25px; font-size:20px;" value="<? echo number_format(100,2,'.','.'); ?>" size="10" readonly="readonly"/></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td colspan="3"><table width="300" border="0">
      <tr>
        <td width="65"><strong>Acrescimo</strong></td>
        <td width="225"><input name="taxa" type="text" class="input" id="taxa" style="height: 20px; font-size:12px;" size="1" maxlength="5"/>
          %</td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td colspan="3"><table width="300" border="0">
      <tr>
        <td width="64"><strong>Total:</strong></td>
        <td width="226"><input name="valor_total" type="text" class="input" id="valor_total" style="height: 25px; font-size:20px;" size="6" maxlength="6" readonly="readonly"/></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td colspan="3"><hr></td>
  </tr>
</table>

Link para o comentário
Compartilhar em outros sites

  • 0
Chame a função no evento onBlur do input que vai ser colocado o desconto

Olá amigo! Encontrei um script aqui no fórum já pronto, só fiz trocar o calculo dele porque o original acrescentava a porcentagem no valor da compra ex: 100,00 + 10% = 110,00.

No meu caso ao invés de acrescentar, ele diminui dando como desconto e não como acréscimo. Até ai tudo bem. Sendo q ele está retornando o valor como negativo ex: 100,00 – 3% Resultado: -97. Como posso corrigir isso? Pois não tenho conhecimento bastante com JavaScript para resolver isso você poderia resolver pra mim?

Grato pela atenção!

&lt;script type="text/JavaScript">

window.onload = function(){        

id('taxa').onblur = function(){  
    id('valor_total').value = prec_final( id('valor_compra').value, this.value );
    }    

id('valor_compra').onblur = function(){
    id('valor_total').value = prec_final( this.value, id('taxa').value );
    }
    }
    
    function prec_final( valor_compra, taxa ){
        return (parseFloat( valor_compra )*parseFloat( taxa )/100)-parseFloat( valor_compra );
        }
        
        function id( el ){
            return document.getElementById( el )
            }

//-->
</script>

<table width="100%" border="0" cellpadding="0" cellspacing="2">
  <tr>
    <td colspan="3"><img src="../img/pixel.gif" width="2" height="2"></td>
  </tr>
  <tr>
    <td bgcolor="#DDDDDD"> </td>
    <td width="117" bgcolor="#DDDDDD" class="menu_tit"><div align="center"><strong>Nº PARCELA(s):</strong></div></td>
    <td width="87" bgcolor="#DDDDDD"><strong>
      <input name="n_parcelas" type="text" class="input" id="n_parcelas" style="height: 25px; font-size:20px;" size="1" maxlength="2" >
    </strong></td>
  </tr>
  <tr>
    <td height="14" colspan="3"><input name="v_compra" type="hidden" id="v_compra" value="<?=$dados->total_geral;?>" /></td>
  </tr>
  <tr>
    <td colspan="3"><table width="300" border="0">
      <tr>
        <td width="64"><strong>Sub Total:</strong></td>
        <td width="226"><input name="valor_compra" type="text" class="input" id="valor_compra" style="height: 25px; font-size:20px;" value="<? echo number_format(100,2,'.','.'); ?>" size="10" readonly="readonly"/></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td colspan="3"><table width="300" border="0">
      <tr>
        <td width="65"><strong>Acrescimo</strong></td>
        <td width="225"><input name="taxa" type="text" class="input" id="taxa" style="height: 20px; font-size:12px;" size="1" maxlength="5"/>
          %</td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td colspan="3"><table width="300" border="0">
      <tr>
        <td width="64"><strong>Total:</strong></td>
        <td width="226"><input name="valor_total" type="text" class="input" id="valor_total" style="height: 25px; font-size:20px;" size="6" maxlength="6" readonly="readonly"/></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td colspan="3"><hr></td>
  </tr>
</table>

Olá amigo, boa noite! RESOLVEU MEU PROBLEMA!

Gostaria só de saber se é possível ele já ir para o campo com a formação tipo moeda. Ex ao invés de 97 ficar: 97.00

Grato por sua atenção!

Editado por Marcon Leone
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...