0

我已经多次尝试使用 JavaScript 事件编写代码,所以我认为 JavaScriptdocument.write会在某种程度上类似于 PHP 的 echo。有没有办法强制document.write执行类似于 PHP 的回声的内联写入?

样本:情况

我的网站

<input type="text" id="inputText" onchange="writeText()">

脚本

<script>
function writeText(){document.write(document.getElementById("inputText").value);}
</script>

我希望它的行为就像每次更改文本框的值时一样,它会在文本框的下方显示文本框的值,或者更好地使用 PHP 的 echo 执行它,如下所示:

<script>
var inputs = document.getElementById("inputText").value;
function writeText(){document.write("<"."?php "."echo '".inputs."';"."?".">");}
</script>

注意:请不要使用元素来捕获值,我知道但我想在这里的目标是在document.write 不删除页面其他内容的情况下内联写入。

4

1 回答 1

0

document.write()不是为事件处理程序设计的,因为如果当前文档已经完成加载(当事件触发时它已经完成),则document.write()首先清除当前文档,然后将新内容添加到空文档中。

要在已加载的文档中添加内容,您需要修改现有元素的 innerHTML 或创建新元素并以编程方式将它们添加到页面中。

在您的问题中,尚不清楚您希望 writeText() 函数将其生成的内容放在哪里,但这是一个将一些新内容附加到文档中特定位置的文档的示例。

function writeText(parentElem, newHTML) {
    var elem = document.createElement("span");
    elem.innerHTML = newHTML;
    parentElem.appendChild(elem);
}
于 2012-10-08T03:43:32.623 回答