1

我有以下代码:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">

function timeMsg()
{
var t=setTimeout("enterquestion()",900000);
}


function enterquestion()
{
document.getElementById("questions").innerHTML += '<p>'  + document.getElementById("question").value;


}
</script>
</head>
<body>

<h1>Testing Website</h1>
<p id="questions"></p>

<input type="text" name="question" id="question" />
<button type="button" onclick="timeMsg()">Enter question</button>


</body>
</html> 

这段代码所做的只是允许用户输入一个问题,然后在 15 分钟后将问题添加到问题列表中。

我想要对代码做的就是让它立即将文本“QUESTION RECORDED”放在问题将出现的位置,而不是简单地将问题添加到末尾,它应该替换“问题记录”文本与问题。

我无法弄清楚如何以一种可以同时输入多个问题的方式进行操作。

任何帮助表示赞赏,

谢谢!

4

1 回答 1

0

当您想要替换元素的全部内容而不是添加或插入子节点时,innerHTML 属性很方便。为此,使用createElement更容易。

以下是一个帮助您前进的示例:

<script>
function addDiv(parent, text) {
  var div = document.createElement('div');
  div.appendChild(document.createTextNode(text));
  parent.appendChild(div);
}
</script>

<form action="serverprocess" onsubmit="return false;">
  <input type="text" name="qText" value="Question text">
  <button onclick="
    addDiv(document.getElementById('container'), this.form.qText.value);
  ">Add question</button>
</form>
<div id="container"></div>

在上面,如果 javascript 不可用或未激活,则将提交表单并在服务器上进行处理。如果它可用,那么它将在本地处理并且表单不会提交,尽管提交确实应该基于操作的成功完成。

我把它留给你思考。

于 2012-06-05T00:38:37.813 回答