Ir para conteúdo

Arquivado

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

Iacóbus de Cártago

Incremento

Recommended Posts

Fala Galera!



Preciso popular um formulário com um campo text referente a cada mês.


E para isso terei um button para lançar o valor de incremento e preencher todos campos dinamicamente.



Pretendo ter uma input que informe o valor de incremento.



Por Ex:



Incrementar R$ 100,00



Jan: R$ 1.000,00


Fev: R$ 1.100,00


Mar: R$ 1.200,00


Abr: R$ 1.300,00



Alguma sugestão para fazer isso via php ou javascript?



Abraço.


Compartilhar este post


Link para o post
Compartilhar em outros sites

de que forma isso tudo é criado? de primeira mão é só é só somar os 100.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade o usuário preenche o valor inicial no mês de Janeiro.

Incremento R$ 100,00

____________________

Janeiro = R$ 1.000,00

Fevereiro = Janeiro + Incremento

Março = Fevereiro + Incremento

O incremento seria um input text que ao ser preenchido no onblur faria o preenchimento dos campos.

A logica seria simples, mas não tenho muito domínio de JavaScript e cada mês é um input text.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz de uma forma simples.

function IncrementoMensal(incremento){


var inc = Float(incremento);


var janeiro  = Float(document.getElementById('janeiro').value);
var fevereiro  = Float(document.getElementById('fevereiro').value);
var marco   = Float(document.getElementById('marco').value);
var abril  = Float(document.getElementById('abril').value);
var maio   = Float(document.getElementById('maio').value);
var junho  = Float(document.getElementById('junho').value);
var julho  = Float(document.getElementById('julho').value);
var agosto  = Float(document.getElementById('agosto').value);
var setembro  = Float(document.getElementById('setembro').value);
var outubro  = Float(document.getElementById('outubro').value);
var novembro  = Float(document.getElementById('novembro').value);
var dezembro  = Float(document.getElementById('dezembro').value);


janeiro  = janeiro  + inc;
fevereiro   = janeiro  + inc;
marco    = fevereiro + inc;
abril    = marco + inc;
maio    = abril + inc;
junho    = maio + inc;
julho    = junho + inc;
agosto    = julho + inc;
setembro  = agosto + inc;
outubro  = setembro + inc;
novembro  = outubro + inc;
dezembro = novembro + inc;


document.getElementById('janeiro').value  = Moeda(janeiro);
document.getElementById('fevereiro').value  = Moeda(fevereiro);
document.getElementById('marco').value  = Moeda(marco);
document.getElementById('abril').value  = Moeda(abril);
document.getElementById('maio').value  = Moeda(maio);
document.getElementById('junho').value  = Moeda(junho);
document.getElementById('julho').value  = Moeda(julho);
document.getElementById('agosto').value  = Moeda(agosto);
document.getElementById('setembro').value  = Moeda(setembro);
document.getElementById('outubro').value  = Moeda(outubro);
document.getElementById('novembro').value  = Moeda(novembro);
document.getElementById('dezembro').value  = Moeda(dezembro);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá pra fazer de forma reduzida para o código ficar bem menor. já que vai ter um valor inicial e vai ser incrementado com o mesmo valor fica bem mais em conta tu nomear as ids de m1 a m12 invés de janeiro, fevereiro, etc. aí dá para colocar num laço. tu disse que tem um campo para colocar o incremento e acredito que tem um campo para o valor inicial, o 1000 nesse caso. imagino o campo do valor inicial com id="preco" e o de incremento com id="incremento"

function incrementar(){

    var preco = Float(document.getElementById("preco").value);
    var inc = Float(document.getElementById("incremento").value);

    for(i = 1; 1 < 12; i++){
        document.getElementById("m" + i).value = Moeda((inicial + (inc * i)));
    }

}

no que entendi isso tambem resolve e fica bem menos código :D

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.