É a primeira vez que faço algo em JavaScript, eu tinha feito isto:
<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:
<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.