我发现了几个问题,如何做到这一点的答案,但我认为我的问题是一个有趣的问题。我想让一个用户在文本框中输入他们的名字,然后一旦他们点击一个按钮,它就会将其显示回给他们。显示输入回到用户 - javascript
这是我的代码:
<html>
<head>
<title>Side Bar test</title>
<link rel="stylesheet" href="test.css" />
</head>
<body>
<div id="sideWrapper">
<p id="wrapper"><label for="name">Name: <input type="text" name="name" id="name"></p>
<button onclick="display();">Submit</button>
</br>
<div id="playerName">
</div>
</div>
</body>
<script type="text/javascript" language="javascript">
var input = document.getElementById("name").value;
function display() {
document.getElementById("playerName").innerHTML = "<p>Player: " + input + "</p>";
}
</script>
当document.getElementById("name").value
被调用时,只需无论是在文本字段时加载的页面第一。尝试更新后点击按钮不起作用。所以,如果您在字段中输入“John Doe”,然后重新加载页面并点击按钮,它将显示John Doe。但是,如果您尝试更改它,则不起作用。我已经尝试将脚本移动到<head>
,但这只会使其不明确。
我该怎么做才能让display()
函数看到用户在框中键入的内容并更新它以将其打印到屏幕上?
编辑:通过将输入行移入函数体来修正代码。
<script type="text/javascript" language="javascript">
function display() {
var input = document.getElementById("name").value;
document.getElementById("PlayerName").innerHTML = "<p>Player: " + input + "</p>";
}
</script>
将'var input = document.getElementById(“name”)。value;'放入函数中。实质上,该代码运行第二次页面加载,早在任何输入之前。你想在点击按钮后获取该值,所以将其放入函数中。 –
以及我在回答看起来你去的答案,看到这个小提琴https://jsfiddle.net/zcv1awwt/只是把脚本代码在身体 – Muath