rodrigocurvello Postado Novembro 22, 2004 Denunciar Share Postado Novembro 22, 2004 Olá! ... Preciso montar uma pagina onde existem 4 caixas de texto... Quando uma das caixas perder o foco, automaticamente exibr a soma dos valores das caixas...Fiz isso, mas ao invés de somar os valores eles estão sendo concatenados! Confira:<script> function soma(){ var r=0 for(x=1;x<=4;x++){ v=eval("document.frm1.txt"+x+".value"); r=eval(r+v); } alert(r); return true; } </script> <form name="frm1"> <input type="text" name="txt1" onblur="soma()"><br> <input type="text" name="txt2" onblur="soma()"><br> <input type="text" name="txt3" onblur="soma()"><br> <input type="text" name="txt4" onblur="soma()"><br> </form>já usei parseInt() no lugar de eval() e também não funcionou. O que pode ser? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Novembro 22, 2004 Denunciar Share Postado Novembro 22, 2004 utilize o parseInt() (ou o parseFloat()) pra somar o conteúdo digitado pelo usuário. Se não ele vai apenas concatenar as strings...Falou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodrigocurvello Postado Novembro 22, 2004 Autor Denunciar Share Postado Novembro 22, 2004 utilize o parseInt() (ou o parseFloat()) pra somar o conteúdo digitado pelo usuário. Se não ele vai apenas concatenar as strings...Falou! Não funcionou.. quando coloco parseFloat() ou parseInt() exibe NaN ao invés do valor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Novembro 22, 2004 Denunciar Share Postado Novembro 22, 2004 "NaN" Isso quer dizer q o valor q você passou para o parseInt não é um número.Qual o teu erro... você está tentando somar valores em branco. Quando tu sai do primeiro campo os outros três estão vazios e tu tenta trasformar vazio em número e dae dá pau. Você tem que testar pra ver se o valor q tah vindo é diferente de vazio ou null.<script>function soma(){var som=0for(x=1;x<=4;x++){v=eval("document.frm1.txt"+x+".value"); if (v != "" && v != null) som=parseInt(som)+parseInt(v);}alert(som);return true;}</script><form name="frm1"><input type="text" name="txt1" onblur="soma()"><br><input type="text" name="txt2" onblur="soma()"><br><input type="text" name="txt3" onblur="soma()"><br><input type="text" name="txt4" onblur="soma()"><br></form>Dae tu pode utilizar o parseint ou parseFloat, não sei quais números você vai querer somar.Qualquer coisa posta ae...AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
rodrigocurvello
Olá! ... Preciso montar uma pagina onde existem 4 caixas de texto... Quando uma das caixas perder o foco, automaticamente exibr a soma dos valores das caixas...
Fiz isso, mas ao invés de somar os valores eles estão sendo concatenados! Confira:
já usei parseInt() no lugar de eval() e também não funcionou. O que pode ser?
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.