使用HTML中的JavaScript函数添加到变量
我刚开始学习Javascript几个小时,正在尝试使用一个函数在HTML中使用JS添加变量(如果我使用了错误的术语,很抱歉),但它似乎并没有改变结果使用HTML中的JavaScript函数添加到变量,javascript,html,Javascript,Html,我刚开始学习Javascript几个小时,正在尝试使用一个函数在HTML中使用JS添加变量(如果我使用了错误的术语,很抱歉),但它似乎并没有改变结果 <html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=devic
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
var userID = 1;
var userRep = 0;
function NumUp(userRep) {
userRep = userRep + 1;
}
function NumDown(userRep) {
userRep = userRep - 1;
}
function myFunction() {
document.getElementById("demo").innerHTML = userRep;
}
</script>
</head>
<body>
<form action="Reputation.JS">
<div class="container">
<p>result goes here</p>
<button type="button" onclick="NumUp()" id="voteUp">Vote Up</button>
<button type="button" onclick="NumDown()" id="voteDown">Vote Down</button>
<label id="lbl"></label>
<button onclick="myFunction()">Click me</button>
<p id="demo"></p>
</div>
</form>
</body>
</html>
提供头衔
var userID=1;
var userRep=0;
函数NumUp(userRep){
userRep=userRep+1;
}
函数NumDown(userRep){
userRep=userRep-1;
}
函数myFunction(){
document.getElementById(“demo”).innerHTML=userRep;
}
结果就在这里
投票赞成
否决
点击我
非常感谢您提供的帮助。查看代码
function NumUp(userRep){
userRep = userRep + 1;
}
此userRep
是一个局部变量,您正在尝试打印全局变量的值。因此它始终显示0
,因为全局未更改
另外,如果在按钮
元素中未提及任何类型
,则将其视为提交
按钮。如果不想提交表单,只需添加type=button
解决方案是在函数中删除该参数或更改该参数的名称
var userID=1;
var userRep=0;
函数NumUp(){
userRep=userRep+1;
}
函数NumDown(){
userRep=userRep-1;
}
函数myFunction(){
document.getElementById(“demo”).innerHTML=userRep;
}
结果就在这里
投票赞成
否决
点击我
无需将参数传递给正在调用的方法,因为该参数已经是全局变量
function NumUp() {
userRep = userRep + 1;
}
function NumDown() {
userRep = userRep - 1;
}
当您定义一个函数,该函数接受一个参数userRep
,但在调用该函数时不传递该值时,它将变为undefined
,向其添加一个数字将导致NaN
由于使用参数值而不是全局值进行计算,因此该值是本地化的-这就是为什么该值不变的原因
演示
提供头衔
var userID=1;
var userRep=0;
函数NumUp(){
userRep=userRep+1;
}
函数NumDown(){
userRep=userRep-1;
}
函数myFunction(){
document.getElementById(“demo”).innerHTML=userRep;
}
结果就在这里
投票赞成
否决
点击我
我希望这会有所帮助。多谢各位
提供头衔
var userID=1;
var userRep=0;
函数NumUp(){
userRep=userRep+1;
myFunction();
}
函数NumDown(){
userRep=userRep-1;
myFunction();
}
函数myFunction(){
document.getElementById(“demo”).innerHTML=userRep;
}
结果就在这里
投票赞成
否决
点击我
从NumUp和Numdown中删除userRep,NumUp和Numdown是函数中的一个局部变量,当您不提供时,其值将变得未定义
function NumUp(){
userRep = userRep + 1;
}
function NumDown(){
userRep = userRep - 1;
}
使用以下命令
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
var userID = 1;
var userRep = 0;
function NumUp () {
userRep = userRep + 1;
}
function NumDown () {
userRep = userRep - 1;
}
function myFunction (event) {
event.preventDefault();
document.getElementById("demo").innerHTML = userRep;
}
</script>
</head>
<body>
<form action="Reputation.JS">
<div class="container">
<p>result goes here</p>
<button type ="button" onclick="NumUp()" id="voteUp">Vote Up</button>
<button type ="button" onclick="NumDown()" id="voteDown">Vote Down</button>
<label id="lbl"></label>
<button onclick="myFunction(event)">Click me</button>
<p id="demo"></p>
</div>
</form>
</body>
提供头衔
var userID=1;
var userRep=0;
函数NumUp(){
userRep=userRep+1;
}
函数NumDown(){
userRep=userRep-1;
}
函数myFunction(事件){
event.preventDefault();
document.getElementById(“demo”).innerHTML=userRep;
}
结果就在这里
投票赞成
否决
点击我
这将帮助您从NumUp和Numdown中删除userRep,这是函数中的一个局部变量
提供头衔
var userID=1;
var userRep=0;
函数NumUp(){
userRep=userRep+1;
}
函数NumDown(){
userRep=userRep-1;
}
函数myFunction(){
document.getElementById(“demo”).innerHTML=userRep;
}
结果就在这里
投票赞成
否决
点击我
根据您的代码,Numbup和Numdown需要参数,但您在通话时没有传递参数。非常感谢guysHi mate非常感谢工作出色,正如我所看到的,我唯一的问题是我包含了类型按钮属性,对吗?如果是,为什么?嗨,mate,不需要将参数传递给您正在调用的方法,因为如果您没有提到任何类型的按钮元素,该参数已经是一个全局变量,将被视为submit button。如果您不想提交表单,那么只需添加type=button,rest-all代码就是完美的