这似乎应该相对简单,我无法弄清楚我做错了什么。我需要通过文本框从用户那里获取输入(用户名),将其设置为变量,并在页面上显示。我一直得到“未定义”而不是用户的名字。
这是一个精简版。这将显示一个覆盖整个页面的Div,其中包含用户输入其名称的输入。当用户点击提交时,div消失,名称设置为变量。我离开了表单处理函数,以防它们与问题相关。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>HOME</TITLE>
</HEAD>
<BODY>
<CENTER>
<BR />
<FONT COLOR="RED" FACE="ARIAL BOLD" SIZE="5">test</FONT>
<BR />
<script language="javascript">
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();
var name = uservariable;
function setName(){
uservariable = document.forms["username"]["user"].value;
var ele = document.getElementById("nameInput");
if(ele.style.display == "none") {
ele.style.display = "block";
}
else {
ele.style.display = "none";
}
document.getElementById('element_7').value = uservariable;
}
function validateForm()
{
var x=document.forms["username"]["user"].value;
if (x==null || x=="")
{
alert("Rembrandt's first name was Beauregard, what is yours?");
}
else
{
setName()
}
}
</script>
<DIV id="nameInput" STYLE="background-color:#ccc;position:fixed;width:100%;height:100%;top:0px;left:0px;z-index:1000;display:block;">
<br /><br /><FONT FACE="ARIAL BOLD" SIZE="3">First Name:</font><br />
<form name="username" action="javascript:validateForm()">
<input type="text" name="user" value="" size="20"><br>
<input type="submit" value="Start Shift">
</form>
</div>
<script language="javascript">
document.write(name + "s LEADS SUBMITTED FOR " + month + "/" + day + "/" + year + ":</B>");
</script>
</center></td></tr></table>
</div>
</CENTER>
</BODY>
</HTML>
答案 0 :(得分:5)
<head>
<script>
function doStuff()
{
var nameElement = document.getElementById("someInput");
var theName = nameElement.value;
document.getElementById("someDiv").innerHTML += theName;
}
</script>
</head>
<html>
<div id="someDiv">
Hello
</div>
<br><br>
<input id="someInput" type="text">
<input type="button" value="Say Hello" onClick="doStuff()">
<br>
</html>