编程语言
首页 > 编程语言> > javascript – document.write到当前的HTML页面

javascript – document.write到当前的HTML页面

作者:互联网

我是编程的小伙子,所以我很感谢你那些知识渊博的人的建议.我正在为一个网页开发一些javascript,我需要将javascript打印到当前的HTML页面,最好是我为此目的设置的div标签.这是我到目前为止所拥有的:

<html>
<head>
<title>Tardy Reporting</title>
<script src="students.js" type="text/javascript">
</script>
</head>
<body>

<h1>Scan in Student ID</h1>
<form method="POST" name="idForm" onSubmit="getId(parseInt(document.idForm.studentId.value));">
<input type="text" name="studentId" id="studentId"/>
<input type="Submit" name="Submit" />
</form>
<div id="div1"></div>
<p>
</body>
</html>

和我的JS文件:

var studentNumberArray = [50011234, 50012345, 50013456];
var studentNameArray = ["Mike Simpson", "Greg Pollard", "Jason Vigil"];
var studentLastPeriodArray = ["George Washington", "Darth Vadar", "Obi Wan Kenobi"];
var tardyArray = [0, 0, 0];

function getId(studentId) {
  for (i = 0; i < studentNumberArray.length; i++){
    if(studentId === studentNumberArray[i]){   
          tardyArray[i] += tardyArray[i] + 1;
            document.getElementById('div1').innerHTML='test';
      }
    }
}

请注意,这只是基本框架,所以它还没有完成,但是让我感到烦恼的是,它会正确地通过代码并将其打印出来,但结果仅持续了一小段时间.我的浏览器(chrome和firefox).任何帮助,将不胜感激.

解决方法:

这是一种更容易/更好的方法来完成您想要做的事情

var students = {};

// Add students to object
students[50011234] = { 'id': '50011234', 'name':"Mike Simpson", 'lastPeriod':"George Washington", 'tardy':0 };
students[50012345] = { 'id': '50012345', 'name':"Greg Pollard", 'lastPeriod':"Darth Vadar", 'tardy':0 };
students[50013456] = { 'id': '50013456', 'name':"Jason Vigil", 'lastPeriod':"Obi Wan Kenobi", 'tardy':0 };


function getId(studentId) {

  students[ studentId ].tardy += 1;
  document.getElementById('div1').innerHTML='test';
}

此外,如下所述,如果不是您想要发生的事情,您应该将按钮更改为不提交:

<form method="POST" name="idForm">
    <input type="text" name="studentId" id="studentId"/>
    <input type="button" onclick="getId(parseInt(document.idForm.studentId.value));" name="Mark Tardy" />
</form>

标签:html,getelementbyid,document-write,javascript
来源: https://codeday.me/bug/20190902/1791287.html