getElementById的JavaScript问题
我想做的是从两个表单中获取值,然后将它们相加并显示结果,问题是它不起作用,无法找出原因。是一个简单的东西,但我对Javascript还是新手。这是我的密码getElementById的JavaScript问题,javascript,html,Javascript,Html,我想做的是从两个表单中获取值,然后将它们相加并显示结果,问题是它不起作用,无法找出原因。是一个简单的东西,但我对Javascript还是新手。这是我的密码 <!DOCTYPE html> <html> <head> <title> Random Page </title> <meta http-equiv="Content-Type" content="text/html; charse
<!DOCTYPE html>
<html>
<head>
<title> Random Page </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form>
Escriba el primer número: <input type="number" id="txtNumber1">
</form>
<br>
<form>
Escriba el segundo número: <input type="number" id="txtNumber2">
</form>
<br>
<button id="btnSumar" onclick="Sumar()"> ¡Sumar! </button>
<br>
<p id="p"> I'm a paragraph </p>
<script>
function Sumar() {
document.getElementById("p").innerHTML="It works until here.";
var num1 = document.getElementById("txtNumber1").value;
var num2 = document.getElementById("txtNumber2").value;
this.resultado = num1 + num2;
}
document.getElementById("p").innerHTML="The result is " + resultado;
</script>
</body>
</html>
随机页面
诺梅罗引述:
埃斯克里巴·塞贡多·努梅罗:
“苏玛!
我是一个段落
函数Sumar(){
document.getElementById(“p”).innerHTML=“它一直工作到这里。”;
var num1=document.getElementById(“txtNumber1”).value;
var num2=document.getElementById(“txtNumber2”).value;
this.resultado=num1+num2;
}
document.getElementById(“p”).innerHTML=“结果是”+resultado;
任何帮助都将不胜感激。Tahnks.你能试试这个吗,我在你的代码中发现了无效的方法
this.resultado
和rst.resultado
,因为没有根本原因,你可以根据输入的数字使用parseInt
或parseFloat
function Sumar() {
document.getElementById("p").innerHTML="It works until here.";
var num1 = document.getElementById("txtNumber1").value;
var num2 = document.getElementById("txtNumber2").value;
var result = num1 + num2; // you can use parseInt or parseFloat based on your input number
document.getElementById("p").innerHTML="The result is " + result;
}
函数Sumar(){
document.getElementById(“p”).innerHTML=“它一直工作到这里。”;
var num1=document.getElementById(“txtNumber1”).value;
var num2=document.getElementById(“txtNumber2”).value;
var resultado=parseInt(num1)+parseInt(num2);
document.getElementById(“p”).innerHTML=“结果是”+resultado;
}
这里有两个示例,一个使用标准JavaScript,它应该能回答基本问题,另一个使用globalize.js,它将处理国际风格的数字符号
使用标准JavaScript
使用parseInt()(或parseFloat())函数将文本字段参数转换为数字并删除字符,将最后一行innerHTML移到Sumar()函数中,并将rst.resultado和this.resultado更改为resultado
函数Sumar(){
var num1=parseInt(document.getElementById(“txtNumber1”).value);
var num2=parseInt(document.getElementById(“txtNumber2”).value);
resultado=num1+num2;
document.getElementById(“p”).innerHTML=“结果是”+resultado;
}
使用Globalize.js允许国际数字格式
jQuery提供了一个由Microsoft开发的脚本,名为根据区域设置格式化数字。在中,我以西班牙为例,但它可以使用更多的格式和地区。尝试使用类似1.234,56的符号来检查计算。您可以使用toLocalString()函数将计算出的数字重新格式化为本地化格式,但这目前仅适用于Chrome和IE。您可以将其用于其他浏览器,但这是我仅有的时间。这里是基本的脚本,但请查看以查看所需的其他js以及需要对表单标记进行的更改
<script>
function Sumar() {
var num1 = Globalize.parseFloat(document.getElementById("txtNumber1").value);
var num2 = Globalize.parseFloat(document.getElementById("txtNumber2").value);
resultado = num1 + num2;
document.getElementById("p").innerHTML = "The result is " + resultado.toLocaleString("es-ES");
}
</script>
函数Sumar(){
var num1=Globalize.parseFloat(document.getElementById(“txtNumber1”).value);
var num2=Globalize.parseFloat(document.getElementById(“txtNumber2”).value);
resultado=num1+num2;
document.getElementById(“p”).innerHTML=“结果是”+resultado.toLocaleString(“es”);
}
this.resultado=num1+num2代码>正在做什么?你认为document.getElementById(“p”).innerHTML=“结果是”+rst.resultado代码>执行?当变量更新时,innerHTML行不会神奇地更新@如果要使用parseInt
您真的需要包含基数,请单击按钮“btnSumar”上的UDB一次。@putvande,假设OP想要像简单的添加一样,我已经删除了它。为此你投了否决票?不,我没有投否决票,我只是想知道你为什么不使用它。一个被否决的政党,无论如何,谢谢,问题是那个document.getElementById从函数中退出了,所以它不起作用。如果你要使用parseInt
,你真的需要包含基数。@Andy,我认为radi参数是可选的……可选的,但始终尝试指定它,否则会遇到各种问题:)如果xtnumber1
的值为“1234,56”会怎么样?小于num1
是NaN
Hmm。。但是“1234,56”在一些国家是一个数字,为什么要限制它呢?有趣的是,我没有考虑国际化。哪些国家使用,而不是。?大约67个国家使用,包括西班牙(我猜OP来自西班牙)
<script>
function Sumar() {
var num1 = parseInt(document.getElementById("txtNumber1").value);
var num2 = parseInt(document.getElementById("txtNumber2").value);
resultado = num1 + num2;
document.getElementById("p").innerHTML="The result is " + resultado;
}
</script>
<script>
function Sumar() {
var num1 = Globalize.parseFloat(document.getElementById("txtNumber1").value);
var num2 = Globalize.parseFloat(document.getElementById("txtNumber2").value);
resultado = num1 + num2;
document.getElementById("p").innerHTML = "The result is " + resultado.toLocaleString("es-ES");
}
</script>