← Javascript

Cálculo JavaScript

Lida 4831 vezes

Offline

João Godinho 
Membro
Mensagens 1755 Gostos 2
Troféus totais: 27
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

É a primeira vez que faço algo em JavaScript, eu tinha feito isto:
Código: [Seleccione]
<script language=\"javascript\">
function calcular(){
v1=document.getElementById(\"single\").value;
v2=document.getElementById(\"duplo\").value;
v3=document.getElementById(\"triplo\").value;
preco=document.getElementById(\"preco\");
if((v1!=\"\") && (v2!=\"\") && (v3!=\"\"))
{
preco.value='€'+(eval(v1)*25+eval(v2)*35+eval(v3)*45)+' por dia';
}
else{
alert(\"Para calcular o preço, os valores dos campos Single, Duplo e Triplo devem estar preenchidos!\");
}
}
</script>
Servia para calcular um preço, apartir de dados introduzidos num formulário e estava tudo bem.

Depois precisei de meter que se o valor do campo "criancas" fosse maior que 1, adicionava  Nrº de Crianças x 10 ao preço total.
E ainda quando o Campo de Cama Extra fosse igual a sim adicionava 10€ ao preço.
Tentei isto:
Código: [Seleccione]
<script language=\"javascript\">
function calcular(){
v1=document.getElementById(\"single\").value;
v2=document.getElementById(\"duplo\").value;
v3=document.getElementById(\"triplo\").value;
criancas=document.getElementById(\"criancas\").value;
camaextra=document.getElementById(\"cama-extra\").selectedIndex;
preco=document.getElementById(\"preco\");
var valor = 0;
if((v1!=\"\") && (v2!=\"\") && (v3!=\"\"))
{
valor.value = (eval(v1)*25+eval(v2)*35+eval(v3)*45);
if(criancas > 0){
valor.value = eval(value)+10*eval(criancas);
}
if (camaextra == 'Sim') {
valor.value = eval(value)+10;
}
}
else{
alert(\"Para calcular o preço, os valores dos campos Single, Duplo e Triplo devem estar preenchidos!\");
}
preco.value='€'+eval(valor)+' por dia';
}
</script>
E não funcionou.
Offline

João Godinho 
Membro
Mensagens 1755 Gostos 2
Troféus totais: 27
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Já consegui, tive de reformular as coisas.
Código: [Seleccione]
<?php
if (
is_page("faca-a-sua-reserva")){
echo "<script language=\"javascript\">
function calcular(){
v1=document.getElementById(\"single\").value;
v2=document.getElementById(\"duplo\").value;
v3=document.getElementById(\"triplo\").value;
criancas=document.getElementById(\"criancas\").value;
camaextra=document.getElementById(\"cama-extra\").value;
total=0;

preco=document.getElementById(\"preco\");
if((v1!=\"\") && (v2!=\"\") && (v3!=\"\"))
{
total=v1*25+v2*35+v3*45;
if(criancas>0){
total=total+criancas*10;
}
if (camaextra == 'Sim') {
total=total+10;
}
}
else{
alert(\"Para calcular o preço, os valores dos campos Single, Duplo e Triplo devem estar preenchidos!\");
}
preco.value='€'+(eval(total))+' por dia';
}
</script>"
;
}
?>