将javascript变量从用户输入写入文档

时间:2012-06-15 04:04:54

标签: javascript variables input

这似乎应该相对简单,我无法弄清楚我做错了什么。我需要通过文本框从用户那里获取输入(用户名),将其设置为变量,并在页面上显示。我一直得到“未定义”而不是用户的名字。

这是一个精简版。这将显示一个覆盖整个页面的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>

1 个答案:

答案 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>