Ir para conteúdo

POWERED BY:

Arquivado

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

alissong

Subtração e Validação

Recommended Posts

Pessoal,

 

Criei esse formulário chamado financiamento.php

<HTML>

<HEAD>

<TITLE>Financiamento</TITLE>

<script type="text/javascript" scr="ValidaForm.js"></script>

</HEAD>

<BODY>

<form name="financiamento" method="POST" action="calcular.php" onSubmit="return ValidaForm()">

<table border="0" width="100%">

<tr>

<td>Valor do Financiamento (R$)</td>

<td><input name=" valor_financiamento" type="text" size="20"></td>

</tr>

<tr>

<td>Entrada (R$)</td>

<td><input name="entrada" type="text" size="20" onchange="soma()"></td>

</tr>

<tr>

<td>Valor Financiado (R$)</td>

<td><input name="valor_financiamento" type="text" size="20" readonly="true"></td>

</tr>

<tr>

<tr>

<td>Taxa de Juro(%)</td>

<td><input name="taxa" type="text" size="20"></td>

</tr>

<tr>

<td>Nº Meses</td>

<td><input name="n_meses" type="radio" value="6"> 06 meses

<input name="n_meses" type="radio" value="12">12 meses

<input name="n_meses" type="radio" value="18">18 meses

<input name="n_meses" type="radio" value="24">24 meses</td>

</tr>

<tr>

<td>Data Inclusão</td>

<td><input name="data_cadastro" type="text" size="20" value="<? echo date("d/m/Y"); ?>"></td>

</tr>

<tr>

<td><input type="submit" value="Calcular">

<input type="reset" value="Limpar"></td>

</tr>

</table>

</form>

</BODY>

</HTML>

Depois criei esse arquivo em ValidaForm.js

function ValidaForm()

{ d = document.financiamento;

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

//validar valor do financiamento

if (d.valor_financiamento.value == ""){

alert("O campo Valor do Financiamento deve ser preenchido!");

d.valor_financiamento.focus();

return false;

}

//validar valor do financiamento

if (d.valor_financiamento.value <= d.entrada) {

alert("O campo Valor do financiamento deve ser maior que o Valor da Entrada!");

d.valor_financiamento.focus();

return false;

}

//validar valor do financiamento(verificacao se contem apenas numeros)

if (isNaN(d.valor_financiamento.value)){

alert("O campo Valor do Financiamento deve conter apenas números!");

d.valor_financiamento.value = "";

d.valor_financiamento.focus();

return false;

}

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

//validar valor entrada

if (d.entrada.value == ""){

alert("O campo Valor da Entrada deve ser preenchido!");

d.entrada.focus();

return false;

}

//validar valor entrada

if (d.entrada.value >= d.valor_financiamento) {

alert("O campo Valor da Entrada deve ser menor que o Valor do Financiamento!");

d.entrada.focus();

return false;

}

//validar valor da entrada (verificacao se contem apenas numeros)

if (isNaN(d.entrada.value)){

alert("O campo Valor da Entrada deve conter apenas números!");

d.entrada.value = "";

d.entrada.focus();

return false;

}

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

//validar valor da taxa

if (d.taxa.value == ""){

alert("O campo Valor da Taxa deve ser preenchido!");

d.taxa.focus();

return false;

}

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

//validar data inclusao

if (d.data_cadastrato.value == ""){

alert("O campo VENCIMENTO deve ser preenchido!");

d.data_cadastrato.focus();

return false;

}

barras = d.data_cadastrato.value.split("/");

if (barras.length == 3)

{ dia = barras[0];

mes = barras[1];

ano = barras[2];

resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (dia.length == 2) &&

(!isNaN(mes) && (mes > 0) && (mes < 13)) && (mes.length == 2) &&

(!isNaN(ano) && (ano.length == 4) && (ano >= 1900));

if (!resultado)

{ alert("Formato de DATA inválido!");

d.data_cadastrato.value = "";

d.data_cadastrato.focus();

return false;

}

}

else

{ alert("Formato de DATA inválido! Faltou alguma \"/ \"");

d.data_cadastrato.value = "";

d.data_cadastrato.focus();

return false;

}

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

}

 

function Soma()

{ d = document.financiamento;

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

//Calcula a diferença

var valor_1 = d.financiamento.valor_financiamento.value;

var valor_2 = d.financiamento.entrada.value;

var result = eval(valor_1 - valor_2);

d.financiamento.valor_financiado.value = result;

 

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

}

 

Mas não está funcionando o arquivo de validação. Estou fazendo alguma coisa errada para chamar o arquivo ValidaForm.js no formulário e a function Soma() também não está funcionando. Por quê ?

 

 

Alguém pode me ajudar.

 

 

Um abraço.

 

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá allisong, sou modera de hard. mas a algum tempo estou estudando Web design e developer, vou dizer algumas coisas que vi no seu codigo que devem ser consertadas:

Dois campos do formulario com o mesmo input name:

<td>Valor do Financiamento (R$)</td>

<td><input name=" valor_financiamento" type="text" size="20"></td>

</tr>

<tr>

<td>Entrada (R$)</td>

<td><input name="entrada" type="text" size="20" onchange="soma()"></td>

</tr>

<tr>

<td>Valor Financiado (R$)</td>

<td><input name="valor_financiamento" type="text" size="20" readonly="true"></td>

 

No seu codigo ValidaForm.js achei o seguinte erro:

 

{ alert("Formato de DATA inválido!");

d.data_cadastrato.value = "";

d.data_cadastrato.focus();

return false;

}

}

else

{ alert("Formato de DATA inválido! Faltou alguma \"/ \"");

d.data_cadastrato.value = "";

d.data_cadastrato.focus();

 

São erros basicos de digitação que todos cometemos, e sabe como é ainda mais sendo case sensitive...

Vou dar mais uma olhada e testada se achar algo mais e funcionando posto...

 

Edit:

 

Achei mais o seguinte:

function Soma()

 

Sendo que é puxado no formulario:

onchange="soma()"

 

Minusculo, ai esta o erro no case sensitive.

Conserte estes errinhos e poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Edultra,

 

Corrigir esses erros, mas não funcionou, o calculo da function Soma() e nem a validação:

<?

$valor = number_format($_POST['valor_financiamento'], 2, ',','.');

$entrada = number_format($_POST['entrada'], 2, ',','.');

$vl_financiado = number_format($valor - $entrada, 2, ',','.');

$result = number_format($vl_financiado , 2, ',','.');

$taxa = $_POST['taxa'];

$taxa = ($taxa/100);

$plano = $_POST['n_meses'];// aqui vai receber em quantas vezes o cara vai querer pagar

$dia = date("d");//pega o dia atual.

$mes = date("m");//pega o mes atual

$ano = date("Y");//pega o ano atual

$v_mes = $mes;

?>

<HTML>

<HEAD>

<TITLE>Financiamento</TITLE>

<script type="text/javascript" scr="ValidaForm.js"></script>

</HEAD>

<BODY>

<form name="financiamento" method="POST" action="<? $PHP_SELF ;?>" onSubmit="return ValidaForm()">

<table border="0" width="100%">

<tr>

<td>Valor do Financiamento (R$)</td>

<td><input name="valor_financiamento" type="text" size="20"></td>

</tr>

<tr>

<td>Entrada (R$)</td>

<td><input name="entrada" type="text" size="20" onchange="Soma()"></td>

</tr>

<tr>

<td>Valor Financiado (R$)</td>

<td><input name="valor_financiado" type="text" size="20" readonly="true"></td>

</tr>

<tr>

<td>Taxa de Juro(%)</td>

<td><input name="taxa" type="text" size="20"></td>

</tr>

<tr>

<td>Nº Meses</td>

<td><input name="n_meses" type="radio" value="6"> 06 meses

<input name="n_meses" type="radio" value="12">12 meses

<input name="n_meses" type="radio" value="18">18 meses

<input name="n_meses" type="radio" value="24">24 meses</td>

</tr>

<tr>

<td>Data Inclusão</td>

<td><input name="data_cadastro" type="text" size="20" value="<? echo date("d/m/Y"); ?>"></td>

</tr>

<tr>

<td><input type="submit" value="Calcular">

<input type="reset" value="Limpar"></td>

</tr>

</table>

</form>

<table border="1" width="100%">

<tr>

<td>Nº Contrato</td>

<td>Nº Parcelas</td>

<td>Vencimento</td>

<td>Taxa</td>

<td>Valor</td>

<td>Pagamento</td>

</tr>

<?

$total_carrinho = 0;

for($i=1;$i<=$plano;$i++){// aqui vai um loop até qtas vezes o usuário escolheu.

$total_carrinho += $parcelas;

if($v_mes==12) {

$v_mes = 1;

$ano = $ano+1; }

else{

$v_mes++; }

$parcelas = number_format((($result) * $taxa) * (pow((1 + $taxa) , $plano)) / (pow((1 + $taxa), $plano) - 1),2,',','.');

 

echo "<tr>";

echo "<td> $valor</td>";

echo "<td> $i / $plano</td>";

echo "<td> $dia / $v_mes / $ano</td>";

echo "<td> $taxa</td>";

echo "<td> $parcelas</td>";

echo "<td> NAO </td>";

echo "</tr>";

}

?>

<tr>

<p align="right"><td colspan = "4">Total</td>

<td><?=number_format($total_carrinho,2,",",".");?></td>

</tr>

</table>

</BODY>

</HTML>

O arquivo java script:

function ValidaForm()

{ d = document.financiamento;

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

//validar valor do financiamento

if (d.valor_financiamento.value == ""){

alert("O campo Valor do Financiamento deve ser preenchido!");

d.valor_financiamento.focus();

return false;

}

//validar valor do financiamento

if (d.valor_financiamento.value <= d.entrada) {

alert("O campo Valor do financiamento deve ser maior que o Valor da Entrada!");

d.valor_financiamento.focus();

return false;

}

//validar valor do financiamento(verificacao se contem apenas numeros)

if (isNaN(d.valor_financiamento.value)){

alert("O campo Valor do Financiamento deve conter apenas números!");

d.valor_financiamento.value = "";

d.valor_financiamento.focus();

return false;

}

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

//validar valor entrada

if (d.entrada.value == ""){

alert("O campo Valor da Entrada deve ser preenchido!");

d.entrada.focus();

return false;

}

//validar valor entrada

if (d.entrada.value >= d.valor_financiamento) {

alert("O campo Valor da Entrada deve ser menor que o Valor do Financiamento!");

d.entrada.focus();

return false;

}

//validar valor da entrada (verificacao se contem apenas numeros)

if (isNaN(d.entrada.value)){

alert("O campo Valor da Entrada deve conter apenas números!");

d.entrada.value = "";

d.entrada.focus();

return false;

}

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

//validar valor da taxa

if (d.taxa.value == ""){

alert("O campo Valor da Taxa deve ser preenchido!");

d.taxa.focus();

return false;

}

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

//validar data inclusao

if (d.data_cadastro.value == ""){

alert("O campo VENCIMENTO deve ser preenchido!");

d.data_cadastro.focus();

return false;

}

barras = d.data_cadastro.value.split("/");

if (barras.length == 3)

{ dia = barras[0];

mes = barras[1];

ano = barras[2];

resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (dia.length == 2) &&

(!isNaN(mes) && (mes > 0) && (mes < 13)) && (mes.length == 2) &&

(!isNaN(ano) && (ano.length == 4) && (ano >= 1900));

if (!resultado)

{ alert("Formato de DATA inválido!");

d.data_cadastro.value = "";

d.data_cadastro.focus();

return false;

}

}

else

{ alert("Formato de DATA inválido! Faltou alguma \"/ \"");

d.data_cadastro.value = "";

d.data_cadastro.focus();

return false;

}

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

}

 

function Soma()

{ d = document.financiamento;

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

//Calcula a diferença

var valor_1 = d.financiamento.valor_financiamento.value;

var valor_2 = d.financiamento.entrada.value;

var result = eval(valor_1 - valor_2);

d.financiamento.valor_financiado.value = result;

 

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*

*_*_*_*_*_*_*_*_

}

Um abraço.

 

 

Alissong

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.