当我使用html元素属性onClick="delete_player(1, test)
时,控制台上显示错误消息Uncaught ReferenceError: test is not defined at HTMLButtonElement.onclick ((index):1)
。我不希望它将参数作为变量传递,我希望将其作为字符串传递。但是无论我做什么,它都会将参数作为变量传递。 这就是为什么错误显示Uncaught ReferenceError: test is not defined
的原因。
在错误所指的文档中,只有一个功能。 delete_player(1, test)
。我试图在javascript中将参数作为字符串传递,但是没有任何效果。
这是我的代码;
var ticket_per_player = 1;
function newPlayer() {
var new_player_name = document.getElementById('new_player_input_name').value;
if (new_player_name == "") {
alert("Du måste skriva in ett namn Maarrcuuss! (trodde du att jag skulle gå på det där)");
} else {
document.getElementById('points').innerHTML += '<div class="spelare" id=' + ticket_per_player + '><h3 class="player-top" id="player-name">' + new_player_name + '</h3><button class="player-top" id="delete-player" onClick="delete_player('+ ticket_per_player + ', ' + new_player_name + ')">x</button><h4>Poäng:</h4><input type="number"></div>';
ticket_per_player++; // HTML
}
}
function delete_player(ticket_per_player, player) {
if (confirm("Är du säker du vill ta bort " + player + "?")) {
document.getElementById(ticket_per_player).innerHTML = "";
} else {
// Do nothing!
}
}
尽管我希望大家都理解,即使代码中有一些瑞典语。 :)
提及该错误的主题或文章都没有对我有所帮助。这就是为什么我在这里问这个问题。
[编辑]
这是我的HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Mario Maker Counter</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h1 class="title">odenCounter</h1>
<div class="timer">
<h2>odenTimer</h2>
</div>
<div class="points" id="points">
<h2>odenPoäng</h2>
<input type="" name="new_player_input_name" id="new_player_input_name">
<button id="add-player" onClick="newPlayer()">Lägg till spelare</button>
<div class="spelare" id="0">
<h3 class="player-top" id="player-name">SpelareNamn</h3>
<button class="player-top" id="delete-player" onClick="delete_player('0', 'SpelareNamn')">x</button>
<h4>Poäng:</h4>
<input type="number">
</div>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
答案 0 :(得分:0)
如果您尝试将字符串作为参数传递,则应使用这样的字符串文字:
onclick="delete_player(1, 'Test')"