我是javascript的新手。我不知道我的代码有什么问题
mysqli_query
答案 0 :(得分:0)
这是你的回答......
<button type="button" onclick="myFunction()">compute</button>
answer:<input id="demo" type="text"> and answer: <p id="demo"></p>
<script> function myFunction() {
var x = document.getElementById("num1").value;
var y = document.getElementById("num2").value;
var ans = parseInt(x) + parseInt(y);
document.getElementById("demo").innerHTML = ans; }
</script>
答案 1 :(得分:0)
你有两次id =“demo”。在输入的情况下没有innerHtml,它是值而不是那不是你想要的。所以使用这个:
document.querySelector("p#demo").innerHTML = ans;
答案 2 :(得分:0)
不要在文档中使用ID两次,并且从输入字段获得的值是字符串,你要添加字符串,所以你必须在之前将其解析为整数。 HTML5输入类型number
仅在某些新浏览器中显示一个字段,该字段对于除数字之外的其他字符无效,但是当您使用javascript读取其值时,您会得到一个字符串。
您可以使用parseInt
解析字符串。如果您想支持float,可以使用parseFloat
。
num1:<input id="num1" type="number">
num2:<input id="num2" type="number">
<button type="button" onclick="myFunction()">compute</button>
answer:<input id="demoInput" type="text"> and answer: <p id="demoHtml"></p>
<script>
function myFunction() {
var x = document.getElementById("num1").value;
var y = document.getElementById("num2").value;
var ans = parseInt(x) + parseInt(y)
document.getElementById("demoInput").value = ans;
document.getElementById("demoHtml").innerHTML = ans;
}
</script>
顺便说一下:
如果要为具有相同ID的两个或多个元素命名,请使用class属性。并且你得到了document.getElementsByClassName("demo")
一系列元素。
答案 3 :(得分:0)
当您从输入控件获取值时,您将获得它作为String类型,甚至认为您在html中将其设置为数字类型 - 此类型仅用于文本输入限制(您只能在该文本框中输入数字)。 / p>
:h mbyte-options
:h fo-table
在这里你只是&#34;链接&#34;将x和y字符串添加到一个新变量 - 这是&#39; +&#39;运算符在字符串上使用时。
可以使用parseFloat(转换为float类型)和parseInt(转换为int类型)将字符串对象解析(反序列化)到数字。
此外,您可以通过instanceof或构造函数检查ether类型:
var ans = x + y;