Javascript 具有解析函数到算术函数的文本框计算器
我想做的是有两个文本框连接到一个按钮。单击按钮时,它将调用一个函数来解析2个文本框条目,然后执行添加(2个单独的函数)。有人能指出我在这件事上遗漏了什么吗?当我在控制台中调用它时,我一直将Javascript 具有解析函数到算术函数的文本框计算器,javascript,calculator,Javascript,Calculator,我想做的是有两个文本框连接到一个按钮。单击按钮时,它将调用一个函数来解析2个文本框条目,然后执行添加(2个单独的函数)。有人能指出我在这件事上遗漏了什么吗?当我在控制台中调用它时,我一直将num1视为未定义 <!DOCTYPE html> <html> <head> <title>.</title> </head> <body> Number1: <input type='text' id='num1'&g
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>
.
编号1:
编号2:
添加
var user=document.getElementById('toUser');
var n1=document.getElementById('num1')。值;
var n2=document.getElementById('num2')。值;
函数解析()
{
var nummod=parseFloat($('n1')).value;
var num2mod=parseFloat($('n2')).value;
如果(isNaN(nummod | | nummod))
{
user.innerHTML=(“请输入有效数字”);
}
其他的
{
添加();
}
}
函数add()
{
解析();
返回num1mod+num2mod;
user.innerHTML=(返回)
}
试试这个
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;
}
此代码存在一些问题:
$('num1')
似乎是jQuery或其他库。从标签上看,虽然看起来您没有使用jQuery$('num1')
是无效的选择器。它应该是$('#num1')
.val()
,而不是.value
,并且它应该在前面的括号($('#num1').val())
,而不是在外面var num1mod = parseFloat(n1, 10);
var num2mod = parseFloat(n2, 10);
var num1mod = parseFloat($('#num1').val(), 10);
var num2mod = parseFloat($('#num2').val(), 10);
jQuery:
var num1mod = parseFloat(n1, 10);
var num2mod = parseFloat(n2, 10);
var num1mod = parseFloat($('#num1').val(), 10);
var num2mod = parseFloat($('#num2').val(), 10);
谢谢,它删除了一个错误,但是num1,n1,num1mod仍然返回为未定义。更新了我的答案,请检查