Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
não estou conseguindo encaixar a logica para fazer a soma dar sem NaN
sendo que o campo do aluguel esta com o value vazio porque estou simulando caso o usuário não tenha aluguel.
segue abaixo meu código
<p class="campo1"><span>Mensalidade Faculdade: </span>R$<input id="mensalidade" value="10"></p>
<p class="campo1"><span>Aluguel: </span>R$<input id="aluguel" value=""></p>
<p class="campo1"><span>Água: </span>R$<input id="agua" value="30"></p>
<p class="campo1"><span>Luz: </span>R$<input id="luz" value="10"></p>
<script type="text/javascript">
function despesas(){
var mensalidade = document.getElementById("mensalidade").value;
var aluguel = document.getElementById("aluguel").value;
var agua = document.getElementById("agua").value;
var luz = document.getElementById("luz").value;
var total = parseInt(mensalidade) + parseInt(aluguel) + parseInt(agua) + parseInt(luz);
document.getElementById("resultado").innerHTML = total;
}
</script>
o seu problema é simples você está tendo o erro 'NaN', porque o parseInt não consegue converter vazio para inteiro, é necessário que você crie uma validação e quando o valor for vazio deve substituir por zero (0). Mas o correto mesmo é que você utilizasse parseFloat pois está lidando com valores monetários e é muito comum lidar com valores fracionados.
HTML: