【发布时间】:2012-09-12 17:19:26
【问题描述】:
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> 标记之间的文本。它实际上工作了半秒钟:我看到文本迅速更改为用户在文本区域中输入的内容,<p> 标记之间的文本被来自<textarea> 的用户输入替换,它立即返回到原始文本。
之后,当我检查源代码时,html 代码并没有改变一点,因为 html 应该被替换为来自 textarea 的任何用户输入。
我尝试了三种不同的浏览器,我也尝试过 getElementByTagName();方法没有成功。
我错过了什么吗?我的代码看起来合法且干净,但有些东西正在逃脱我的掌握。
我想要从这段代码中替换给定标记(如<p>)之间的HTML代码,由用户在textarea中输入,但它只替换几毫秒并返回原始html。
任何帮助将不胜感激。
编辑:我想将文本添加到 html 页面。更改页面上可见的文本。不一定在源头。 . .
【问题讨论】:
-
你是如何“检查源代码”的?
-
@ggreiner - 我在浏览器中按 ctrl+u。
标签: javascript