• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

hellion

Ajuda urgente !!

2 mensagens neste tópico

Tou a fazer um portal de e-commerce para um trabalho !

So que por exemplo seleccionando o processador e a mother board em que :

<option class="checkbox" value="186" name="Amd643200">Processador AMD Athlon 64 Bits 3200+ Socket 939 : € 186</option>

e

<option class="checkbox" value="107" name="AsusA8N-E">Motherboard ASUS A8N-E : € 107</option>

onde o valor = preço do componente ..

quando quero calcular a soma dos dois componentes dá em vez de 293€ dá 186107 .

Eu pus :

<script language="javascript">

function Somar()

{

soma=(document.Frm1.CbxProcessador.options.value)+(document.Frm2.CbxMother.options.value);

document.Frm4.TbxTotal.innerText=soma;

}

</script>

Podem-me ajudar rapidamente ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Heyas all...

A 1º vez que isso me aconteceu tive cerca de 30 minutos para resolver....

É muito simples, e citando:

<script language="javascript">
function Somar()

{

soma=(document.Frm1.CbxProcessador.options.value)+(document.Frm2.CbxMother.options.value);
document.Frm4.TbxTotal.innerText=soma;

}

</script> 

Passa a:

<script language="javascript">
function Somar()

{

soma=parseInt(document.Frm1.CbxProcessador.options.value)+parseInt(document.Frm2.CbxMother.options.value);
document.Frm4.TbxTotal.innerText=soma;

}

</script> 

Ou seja o que vem da option é uma string, e dava-te esses valores marados porque estavas a concatená-las...para passares de string para int, basta usar o parseInt...

E btw, se permitires uma crítica,

a tag <option> não tem o atributo name, ou seja se fores passar isso por um validador kapput...

E outra coisa, para definires o estilo das várias options não é preciso estares sempre a por o class="checkbox", basta pores isso no select...

Hasta all e espero ter ajudado a tempo [[]]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora