如何在javascript中动态添加和更改div?

时间:2012-06-05 00:06:05

标签: javascript html

我有以下代码:

<!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”文本放在问题显示的地方,然后不要简单地将问题添加到最后,它应该用问题替换“QUESTION RECORDED”文本。

我无法弄清楚如何以可以同时输入多个问题的方式来做到这一点。

感谢任何帮助,

谢谢!

1 个答案:

答案 0 :(得分: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不可用或没有活动,表单将被提交并且可以在服务器上进行处理。如果它可用,那么它将在本地处理,表单将不会提交,但提交应该基于成功完成操作。

我会留下你的思考。