Javascript-将两个输入字段相乘并显示
我的想法是,我应该能够有两个输入数字的字段,然后我需要显示总和以及乘积。 我想我会测试一下这个产品,但我一直得到一个非数字错误。任何帮助都会很好Javascript-将两个输入字段相乘并显示,javascript,forms,function,math,getelementbyid,Javascript,Forms,Function,Math,Getelementbyid,我的想法是,我应该能够有两个输入数字的字段,然后我需要显示总和以及乘积。 我想我会测试一下这个产品,但我一直得到一个非数字错误。任何帮助都会很好 <!DOCTYPE html> <html> <body> <form> First Number<br> <input id="num1" type="text" name="num1"> <br>
<!DOCTYPE html>
<html>
<body>
<form>
First Number<br>
<input id="num1" type="text" name="num1">
<br>
Second Number:<br>
<input id="num2" type="text" name="num2">
<br><br>
<input type="button" value="Do Maths" onclick="doMath();" />
</form>
<script>
function doMath() {
var numOne = document.getElementById('num1').value;
var numTwo = document.getElementById('num2').value;
var theProduct = parseInt(my_input1) * parseInt(my_input2); document.write(theProduct);
document.write(theProduct);
}
</script>
</body>
</html>
您有未定义的my_input1和my_input2
更改此行:
var theProduct=parseIntmy\u input1*parseIntmy\u input2;文件。书面产品
这应该是正确的行:
var theProduct=parseIntnumOne*parseIntnumTwo;文件。书面产品
显然,如果你想得到总数,你应该:
var theTotal=parseIntnumOne+parseIntnumTwo
并将其打印为:document.writetheTotal
另外
我想在我的回答中再补充一点。如果您只是在测试,请改用此选项并在控制台中查看:
console.log("Product: " + theProduct);
console.log("Total: " + theTotal);
如果您以这样的方式写入文档,您将删除所有内容,这意味着您需要刷新每个输入。不确定你是否意识到了这一点。无论如何,这里的函数仅供参考
function doMath() {
var numOne = document.getElementById('num1').value;
var numTwo = document.getElementById('num2').value;
var theProduct = parseInt(numOne) * parseInt(numTwo);
var theTotal = parseInt(numOne) + parseInt(numTwo);
// document.write(theProduct);
// document.write(theTotal);
console.log("Product: " + theProduct);
console.log("Total: " + theTotal);
}
您有未定义的my_input1和my_input2
更改此行:
var theProduct=parseIntmy\u input1*parseIntmy\u input2;文件。书面产品
这应该是正确的行:
var theProduct=parseIntnumOne*parseIntnumTwo;文件。书面产品
显然,如果你想得到总数,你应该:
var theTotal=parseIntnumOne+parseIntnumTwo
并将其打印为:document.writetheTotal
另外
我想在我的回答中再补充一点。如果您只是在测试,请改用此选项并在控制台中查看:
console.log("Product: " + theProduct);
console.log("Total: " + theTotal);
如果您以这样的方式写入文档,您将删除所有内容,这意味着您需要刷新每个输入。不确定你是否意识到了这一点。无论如何,这里的函数仅供参考
function doMath() {
var numOne = document.getElementById('num1').value;
var numTwo = document.getElementById('num2').value;
var theProduct = parseInt(numOne) * parseInt(numTwo);
var theTotal = parseInt(numOne) + parseInt(numTwo);
// document.write(theProduct);
// document.write(theTotal);
console.log("Product: " + theProduct);
console.log("Total: " + theTotal);
}
应该是这样的
功能域{
var numOne=document.getElementById'num1'。值;
var numTwo=document.getElementById'num2'。值;
var theProduct=parseIntnumOne*parseIntnumTwo;
文件。书面产品;
} 应该是这样的
功能域{
var numOne=document.getElementById'num1'。值;
var numTwo=document.getElementById'num2'。值;
var theProduct=parseIntnumOne*parseIntnumTwo;
文件。书面产品;
} 我看到你写的一切都很好!除了您的代码中有一个输入错误,my_input1应该是numOne,第二个输入也应该是一样的。检查下面的代码片段 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo; 文件。书面产品; } 第一个数字 第二个号码:
我看到你写的一切都很好!除了您的代码中有一个输入错误,my_input1应该是numOne,第二个输入也应该是一样的。检查下面的代码片段 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo; 文件。书面产品; } 第一个数字 第二个号码: 第一个数字 第二个号码: 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo; log'Product:'+theProduct+'\nSum:'+parseIntnumOne+parseIntnumTwo; } 第一个数字 第二个号码: 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo; log'Product:'+theProduct+'\nSum:'+parseIntnumOne+parseIntnumTwo; } 使用parseIntnumOne,10*parseIntnumTwo,10;代替my_input1&my_input2。使用parseInt时还要注意传递基数 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne,10*parseIntnumTwo,10; 文件。书面产品; } 第一个数字 第二个号码: 使用parseIntnumOne,10*parseIntnumTwo,10;代替my_input1&my_input2。使用parseInt时还要注意传递基数 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne, 10*parseIntnumTwo,10; 文件。书面产品; } 第一个数字 第二个号码: 此代码有效 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo; var p=document.getElementById'theProduct'; p、 innerHTML+=产品; } 第一个数字 第二个号码: 此代码有效 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo; var p=document.getElementById'theProduct'; p、 innerHTML+=产品; } 第一个数字 第二个号码:
这是您正确的代码验证,在上面的代码中您没有定义my_input1和my_input2 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo; 文件。书面产品; } 第一个数字 第二个号码:
这是您正确的代码验证,在上面的代码中您没有定义my_input1和my_input2 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo; 文件。书面产品; } 第一个数字 第二个号码:
您已解析my_input1-没有my_input1。下面是正确的工作示例 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo;console.log theProduct; document.getElementById'ans'。innerHTML=产品; } 第一个数字 第二个号码: 产品:
您已解析my_input1-没有my_input1。下面是正确的工作示例 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo;console.log theProduct; document.getElementById'ans'。innerHTML=产品; } 第一个数字 第二个号码: 产品: //您在此的功能: /*功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntmy\u input1*parseIntmy\u input2; 文件。书面产品; 文件。书面产品; }*/ //新功能 功能域{ 变量stringVals=[ document.getElementById'num1'。值, document.getELementById'num2'。值 ]; var actualVals=vals.mapval=>parseIntval .filterval=>!isNaNval; var sum=actualVals.reducecurrentVal,nextVal=>currentVal+nextVal,0; var乘积=实际值.reducecurrentVal,nextVal=>currentVal*nextVal,1; document.getElementById'theSum'。innerHTML='Sum:'+Sum; document.getElementById'theProduct'。innerHTML='Product:'+Product; } 第一个数字 第二个号码: //在这里包含代码片段中的JS。 //您在此的功能: /*功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntmy\u input1*parseIntmy\u input2; 文件。书面产品; 文件。书面产品; }*/ //新功能 功能域{ 变量stringVals=[ document.getElementById'num1'。值, document.getELementById'num2'。值 ]; var actualVals=vals.mapval=>parseIntval .filterval=>!isNaNval; var sum=actualVals.reducecurrentVal,nextVal=>currentVal+nextVal,0; var乘积=实际值.reducecurrentVal,nextVal=>currentVal*nextVal,1; document.getElementById'theSum'。innerHTML='Sum:'+Sum; document.getElementById'theProduct'。innerHTML='Product:'+Product; } 第一个数字 第二个号码: //在这里包含代码片段中的JS。
所有其他答案都是正确的,这意味着您对对象名称的定义不正确。但我只是添加了额外的方法,而不使用parseInt 如果使用这些输入type=number而不是type=text,则不需要执行ParseInt 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=numOne*numTwo; 文件。书面产品; } 第一个数字 第二个号码: 全部o 答案是好的,这意味着您对对象名称的定义不正确。但我只是添加了额外的方法,而不使用parseInt 如果使用这些输入type=number而不是type=text,则不需要执行ParseInt 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=numOne*numTwo; 文件。书面产品; } 第一个数字 第二个号码:
对于此代码,您只需做一个小更改: 第一个数字 第二个号码: 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo; 文件。书面产品; }
对于此代码,您只需做一个小更改: 第一个数字 第二个号码: 功能域{ var numOne=document.getElementById'num1'。值; var numTwo=document.getElementById'num2'。值; var theProduct=parseIntnumOne*parseIntnumTwo; 文件。书面产品; }
my_input1和my_input2未在任何位置声明。嗨,my_input1和my_input2未定义。numOne和numTwo如果参数我认为您需要parseIntnumOne*parseIntnumTwomy_input1和my_input2,则不会在任何地方声明。您好,my_input1和my_input2未定义。numOne和numTwo如果参数认为您需要parseIntnumOne*ParseIntNumtwob,因为有两个document.writetheProduct;英雄联盟我把它去掉了p因为有两个document.writetheProduct;英雄联盟我把它去掉了pDid是否检查以计算小数?是否检查以计算小数?