Javascript更新失败
全部, 下面是使用用户输入的输入更新字段的简单代码。但是,更新没有发生。有人能告诉我这里的问题吗Javascript更新失败,javascript,html,Javascript,Html,全部, 下面是使用用户输入的输入更新字段的简单代码。但是,更新没有发生。有人能告诉我这里的问题吗 <html> <head> <title>Rooms</title> <script type="text/javascript"> function populate() { var newName = document.getElementsByN
<html>
<head>
<title>Rooms</title>
<script type="text/javascript">
function populate()
{
var newName = document.getElementsByName("roomNameInput").value;
document.getElementsByName("nameDisplay").value = newName;
}
</script>
</head>
<body>
<h3>Configure: </h3><i name="nameDisplay"></i><br />
Enter the Room name: <input type="text" name="roomNameInput" onkeypress="populate()"><br />
</body>
</html>
尝试使用document.getElementsByNameDisplay.innerHTML,但失败名称显示不是输入,因此您必须通过设置innerHTML属性而不是值来更改其内容。此外,getElementsByName在那里也不起作用,您必须将它的id设置为nameDisplay,并使用getElementById
getElementsByName将返回一个元素数组,因此必须选择第一个元素才能获取值:
var newName = document.getElementsByName("roomNameInput").value;
您还可以设置输入的id值,并使用getElementById来选择它
要使事情更简单,请使用框架:
function populate() {
var newName = $('[name="roomNameInput"]').val();
$("#nameDisplay").text(newName);
}
也许你可以尝试改变:
document.getElementByName("nameDisplay").value = newName;
到
但是,如果我能建议,用面糊做:
在HTML中:
然后
在Javascript中:
document.getElementById("nameDisplay").innerHTML = "<i>"+newName+"</i>";
document.getElementsById返回一个元素数组,因此快速修复方法是执行以下操作:
var newName = document.getElementsByName("roomNameInput")[0].value;
document.getElementsByName("nameDisplay")[0].innerHTML = newName;
更好的解决方案是将name属性替换为id,并替换为,因为它不再是标准的:
<em id="nameDisplay"></em>
<input type="text" id="roomNameInput" onkeypress="populate()" />
HTML应该是这样的
<h3>Configure: </h3>
<em id="nameDisplay"></em><br />
Enter the Room name: <input id="roomNameInput" type="text" onkeyup="populate()"><br />
工作小提琴做出了改变。。未定义需要显示输入文本的位置。将onkeypress=populate更改为onkeypress=populate-双括号在将其指定为handlerchange roomNameInput的同时执行该函数
document.getElementById("nameDisplay").innerHTML = "<i>"+newName+"</i>";
var newName = document.getElementsByName("roomNameInput")[0].value;
document.getElementsByName("nameDisplay")[0].innerHTML = newName;
<em id="nameDisplay"></em>
<input type="text" id="roomNameInput" onkeypress="populate()" />
var newName = document.getElementById("roomNameInput").value;
document.getElementById("nameDisplay")[0].innerHTML = newName;
<h3>Configure: </h3>
<em id="nameDisplay"></em><br />
Enter the Room name: <input id="roomNameInput" type="text" onkeyup="populate()"><br />
var populate = function(){
var a = document.getElementById('roomNameInput').value;
document.getElementById('nameDisplay').innerHTML = a;
}