我对 innerHTML 和 getElementsById() 有疑问;方法,但我不确定这两种方法是否是我遇到的问题的根源。
这是我的代码:
<script type="text/javascript">
function clearTextField(){
document.getElementsById("commentText").value = "";
};
function sendComment(){
var commentaire = document.getElementById("commentText").value;
var htmlPresent = document.getElementById("posted");
htmlPresent.innerHTML = commentaire;
clearTextField();
};
</script>
我的 HTML 代码是这样的:
<!doctype html>
<html>
<head></head>
<body>
<p id="posted">
Text to replaced when user click Send a comment button
</p>
<form>
<textarea id="commentText" type="text" name="comment" rows="10" cols="40"></textarea>
<button id="send" onclick="sendComment()">Send a comment</button>
</form>
</body>
</html>
所以理论上,这段代码将从文本区域获取用户输入并替换<p>
标记之间的文本。它实际上工作了半秒钟:我看到文本迅速变为用户在 textarea 中输入的内容,标记之间的文本<p>
被用户输入替换,<textarea>
并立即返回到原始文本。
之后,当我检查源代码时,html 代码并没有改变一点,因为 html 应该已经被 textarea 中的任何用户输入所替换。
我尝试了三种不同的浏览器,我也尝试过 getElementByTagName(); 方法没有成功。
我错过了什么吗?我的代码看起来合法且干净,但有些东西正在逃脱我的掌握。
我想要的这段代码是用<p>
文本区域中的用户输入替换给定标记(如)之间的 HTML 代码,但它只替换它几毫秒并返回到原始 html。
任何帮助,将不胜感激。
编辑:我想将文本添加到 html 页面。更改页面上可见的文本。不一定在源头。. .