如何使用JavaScript显示用户输入的信息?

如何使用JavaScript显示用户输入的信息?,javascript,html,document.write,Javascript,Html,Document.write,我有一个表单代码tat将允许用户输入信息。我正在尝试使用javascript在新页面上显示该信息的某些部分。基本上,该页面意味着让用户输入信息,并在新选项卡或页面中显示名称、日期、时间和电子邮件。但我似乎不能让人把它展示出来。有人能帮我吗 <html lang="en" > <head> <title>Shy Music Booking Confirmation</title> <link rel="styleshee

我有一个表单代码tat将允许用户输入信息。我正在尝试使用javascript在新页面上显示该信息的某些部分。基本上,该页面意味着让用户输入信息,并在新选项卡或页面中显示名称、日期、时间和电子邮件。但我似乎不能让人把它展示出来。有人能帮我吗

<html lang="en" >
    <head>
    <title>Shy Music Booking Confirmation</title>
    <link rel="stylesheet" href="music.css" type="text/css" />

<body>
<div id="wrapper">
<div id="form">
    <header><h1>Shy Music Private Lessons</h1></header>

<script type="text/javascript">

      function addtext()
      {
         var userName = document.booking.userName.value;
         var userDate = document.booking.userDate.value;
         var userTime = document.booking.userTime.value;
         var userEmail = document.booking.userEmail.value;

         document.writeln("Thank you! You have just entered the following:");
         document.writeln("<pre>");
         document.writeln("Name: " + userName);
         document.writeln("Date: " + userDate);
         document.writeln("Time: " + userTime);
      }
    </script>
</head>
<hr>
<form name="booking">
<h1>Book a Slot Here!</h1>
    <label for="userName">Name: <br><input type = "text" name = "userName"></label>      <br><br>
    <label for="userEmail">E-mail Address: <br><input type = "email" name = "userEmail"></label><br><br>
<label for="userPhone">Phone Number: <br><input type = "tel" name = "userPhone">    </label><br><br>
<label for="userInstrument">Instrument: 
<select>
<option>Guitar</option>
<option>Drums</option>
<option>Piano</option>
</select>
</label>
<br><br>
<label for="userTime">
Preffered Time: 
<select>
<option>9:00</option>
<option>9:30</option>
<option>10:00</option>
<option>10:30</option>
<option>11:00</option>
<option>11:30</option>
<option>12:00</option>
<option>12:30</option>
<option>1:00</option>
<option>1:30</option>
<option>2:00</option>
<option>2:30</option>
<option>3:00</option>
<option>3:30</option>
<option>4:00</option>
<option>4:30</option>
</select>
</label>
<select>
<option>AM</option>
<option>PM</option>
</select>
<br>
<br>
    <label for="userDate">Date: <br><input type = "date" name = "userDate"></label><br><br>

<input type="submit" value="Submit" >
<form action="#">
<input type="button" value = "Back" onclick="javascript:history.go(-1)" />
</form>
</form>
</div>
</div>
</body>
</html>

害羞音乐预订确认
害羞的音乐私人课程
函数addtext()
{
var userName=document.booking.userName.value;
var userDate=document.booking.userDate.value;
var userTime=document.booking.userTime.value;
var userEmail=document.booking.userEmail.value;
document.writeln(“谢谢!您刚刚输入了以下内容:”);
var form = document.myForm,
    new_element = document.createElement('input');

new_element.type = "button";
new_element.value = "Submit";

form.appendChild( new_element );
文件。书面形式(“”);
var form = document.myForm,
    new_element = document.createElement('input');

new_element.type = "button";
new_element.value = "Submit";

form.appendChild( new_element );
文件。书面形式(“名称:”+用户名);
var form = document.myForm,
    new_element = document.createElement('input');

new_element.type = "button";
new_element.value = "Submit";

form.appendChild( new_element );
书面文件(“日期:+userDate”);
var form = document.myForm,
    new_element = document.createElement('input');

new_element.type = "button";
new_element.value = "Submit";

form.appendChild( new_element );
document.writeln(“时间:+userTime”);
var form = document.myForm,
    new_element = document.createElement('input');

new_element.type = "button";
new_element.value = "Submit";

form.appendChild( new_element );
}
在这里预定一个位置! 名称:


电子邮件地址:


电话号码:


文书: 吉他 鼓 钢琴

首选时间: 9:00 9:30 10:00 10:30 11:00 11:30 12:00 12:30 1:00 1:30 2:00 2:30 3:00 3:30 4:00 4:30 是 颗粒物

日期:



您的代码存在的问题是您正在使用
文档。请在动态设置中编写
。在此上下文中使用时,
document.write
将删除当前文档的内容,并将其替换为其参数指定的文本。因此,
document.write
通常被认为是表示和插入文本/数据的糟糕方式。它通常会影响过多的学习JavaScript的初学者。以下是您应该记住的一些备选方案:

  • element.innerHTML
    :就像我在评论中说的那样。使用
    .innerHTML
    通过页面上的元素将格式化的HTML插入文档。它不必由
    id
    属性指定。它可以通过任何其他形式的元素获取得到

  • node.appendChild
    :此方法比第一个方法更为DOM友好。它允许您在
    node
    指定的元素主体的末尾插入节点。例如:

    <html>
    <head>
    <h1> Welcome</h1>
    </head>
    <body>
    <p> Enter name: </p>
    <input id="name" name="name"class="Name" type="text" placeholder="Enter Full name" required>`
    <input type="Submit" onclick="submitted()"> <br> <br>
    <a id="new" href="www.google.com"> </a>
    <script>
    
          function submitted()
          {
            var a = document.getElementById("name").value;
    
            if (a=="")
            {
          document.getElementById("new").innerHTML="";
          alert("Please Enter a valid name!");
            }
            else if (a==" ") {
            document.getElementById("new").innerHTML=""
          alert("Please Enter a valid name!");
            }
            else
            {
              document.getElementById("new").innerHTML="Thank you, " + a + ". " + "Click here to continue.";
            }
          }
    </script>
    </body>
    </html>
    

我希望这能有所帮助。

我花了很多时间在这上面,但都没用。但是,我最近试过了,效果不错!我希望这是有帮助的

输入名称:




尝试使用
文档以外的其他内容。编写
以显示您的信息。我还应该使用什么?为输出创建一个HTML元素并为其指定一个id。然后在函数中执行
document.getElementById(element\u id)。innerHTML=[text]
。是的,我能够让它工作。非常感谢,太好了!我会回答的。嗨@soham,欢迎来到Stackoverflow!我希望你不介意我修改你的答案。但是,最好包含一个工作来演示您的代码(我也收紧了一点)。@cars10m感谢您编辑我的答案。我不熟悉堆栈溢出。我过去常问问题,但我是第一次回答,所以我没有多少经验。再次感谢你!很高兴听到我没有冒犯你。继续尝试那个代码片段功能!