文本框计算器,具有解析函数到算术函数

时间:2014-03-11 16:39:57

标签: javascript calculator

我尝试做的是有两个连接到一个按钮的文本框。单击该按钮时,它会调用一个函数来解析2个文本框条目,然后执行添加(2个单独的函数)。任何人都可以指出我对此缺失的内容吗?当我在控制台中调用它时,我一直将num1定义为未定义。

<!DOCTYPE html>
<html>
<head>
<title>.</title>
</head>
<body>
Number1: <input type='text' id='num1'><br>
Number2: <input type='text' id='num2'><br>
<br>
<button onclick='add()'>Add</button>

<div id='toUser'></div> 

<script>
    var user = document.getElementById('toUser');
    var n1 = document.getElementById('num1').value;
    var n2 = document.getElementById('num2').value;

    function parsing()
    {
    var num1mod = parseFloat($('n1')).value;
    var num2mod = parseFloat($('n2')).value;

        if (isNaN(num1mod || num2mod))
        {
        user.innerHTML = ('Please enter a valid number');
        }
                    else  
        {
        add();
        }
    }

    function add() 
    {
    parsing(); 
    return num1mod + num2mod;
    user.innerHTML = (return)

    }

</script>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

试试这个,

 function parsing()
 {
     var user = document.getElementById('toUser');
     var n1 = document.getElementById('num1').value;
     var n2 = document.getElementById('num2').value;
     var num1mod = parseFloat(n1);
     var num2mod = parseFloat(n2);

    if (!isNaN(n1) || !isNaN(n2))
    {
      user.innerHTML = 'Please enter a valid number';
    }else{
      var total =  num1mod + num2mod;
      user.innerHTML = total;
   }
 return false;
}

答案 1 :(得分:0)

此代码存在一些问题:

  1. $('num1')似乎是jQuery或其他一些库。从标签虽然它看起来不像你在使用jQuery。
  2. 如果您使用的是jQuery,$('num1')是一个无效的选择器。它应该是$('#num1')
  3. 如果您使用的是jQuery,它应该是.val()而不是.value,它应该在前面的括号($('#num1').val())内,而不是在外面。
  4. 原生JavaScript:

    var num1mod = parseFloat(n1, 10);
    var num2mod = parseFloat(n2, 10);
    

    <强> jQuery的:

    var num1mod = parseFloat($('#num1').val(), 10);
    var num2mod = parseFloat($('#num2').val(), 10);