javascript - 需要使用 JavaScript 打印文本框的内容,但它会不断重复每个条目

标签 javascript html css

我需要获取表单中提交的网站并将它们打印到页面上。它正在工作,但它每次都会打印最后一个条目和新条目。不好意思,打扰了,还在学习中!

<!DOCTYPE html>
<html>
<head>
<title>Index</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <script type="text/javascript" src="favourites.js"></script>
  <link href="part3.css" rel="stylesheet" type="text/css">
  <link href="https://fonts.googleapis.com/css?family=Metamorphous"      rel="stylesheet">
</head>

<body>
<div id ="back">
<a class="homebutton" href="index.html">Home</a>
</div>
<div id="main">
<h1 style ="text-align:center">Favourite Website Organizer</h2>
<hr>
<br>
<br>
<h2>Please Enter Your Favourite Website, then click enter:</h2>

<br>
<form id="website" style = "text-align:center">
<input type="text" maxlength="25" id="webSite" placeholder=www.example.com      style="text-align:center">

<button class="button" value="Enter" onclick="storeData();return false">     <span>Enter</span></button>
</form>
<h3>This is a list of your favourite sites</h3>
<span id = "result"></span>
</div>

</body>
</html>

这是javascript

  var webAddress=[];



 function storeData() {
  var address;

  var website;
  var thisAddress;
  var i=0;
  var outmessage="";
  website=document.getElementById("webSite").value;

  webAddress.push(website);
  for(i=0; i< webAddress.length;i++)
     {
       outmessage+=outmessage+ "<a target=\"_blank\"  href=http://"+webAddress[i]+">"+webAddress[i]+"</a>"+"<br>";
    }
document.getElementById("result").innerHTML=outmessage;

 }

最佳答案

改变这一行:

outmessage += outmessage + "<a target=\"_blank\" ..."

...为此:

outmessage += "<a target=\"_blank\" ..."

给定两个变量 xyx += y 已经等同于 x = x + y。无需再次添加 x!

var webAddress = [];

function storeData() {
  var address;
  var thisAddress;
  var i = 0;
  var outmessage = "";
  var website = document.getElementById("webSite").value;

  webAddress.push(website);
  for (i = 0; i < webAddress.length; i++) {
    outmessage += "<a target=\"_blank\"  href=http://" + webAddress[i] + ">" + webAddress[i] + "</a><br>";
  }

  document.getElementById("result").innerHTML = outmessage;

}
<head>
  <title>Index</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <script type="text/javascript" src="favourites.js"></script>
  <link href="part3.css" rel="stylesheet" type="text/css">
  <link href="https://fonts.googleapis.com/css?family=Metamorphous" rel="stylesheet">

  <body>
    <div id="back">
      <a class="homebutton" href="index.html">Home</a>
    </div>
    <div id="main">
      <h1 style="text-align:center">Favourite Website Organizer</h1>
      <hr>
      <br>
      <br>
      <h2>Please Enter Your Favourite Website, then click enter:</h2>

      <br>
      <form id="website" style="text-align:center">
        <input type="text" maxlength="25" id="webSite" placeholder=www.example.com style="text-align:center">

        <button class="button" value="Enter" onclick="storeData();return false">     <span>Enter</span></button>
      </form>
      <h3>This is a list of your favourite sites</h3>
      <span id="result"></span>
    </div>

  </body>

关于javascript - 需要使用 JavaScript 打印文本框的内容,但它会不断重复每个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540044/

相关文章:

html - 手机方向变化时的图像拉伸(stretch)

javascript - 开始 Sencha 触摸

javascript - HTML、JS 和 CSS 如何协同工作

javascript - FullCalendar JS - TimeGrid 上的样式问题

javascript - 为什么这些 undefined variable 不等于javascript?

javascript - 将按钮 ID 从 View 传递给 MVC Controller

php - CSS ul li 元素符号消失

css - 我的 css 布局变得超过 100% 高度,jsfiddle 中给出的示例

javascript - 如果我选择另一个国家/地区,该州不会重新出现

javascript - 仅在桌面站点上执行 jQuery - 不要在移动设备上执行 jQuery