【问题标题】:Changing text of div element after user input用户输入后更改 div 元素的文本
【发布时间】:2013-04-24 04:18:34
【问题描述】:

当一个人在文本框中写东西时,我想更改 div“结果”的文本,并使其成为用户写的文本。有没有足够专业/聪明/知识渊博的人来帮助我?我是java脚本的新手,所以请帮助我。代码如下:

<!DOCTYPE HTML>
<html>
<head>

<script>
function updateText(text){
document.getElementById("result").innerHTML =text;
}
}</script>

</head>
<body>

<div id="text">
Write to change:<input id="slide" type="text" value=""
onchange="updateText(this.value);" />


</div>
<div id="result" style="height:40px;width:40px;border:1px solid #999"></div>
<br/>
</body>

</html>

我还想知道如何将用户在提示框中写入的文本插入到页面的该元素中。

【问题讨论】:

  • 你的 js 中有语法错误(去掉多余的}
  • @user2313853 如果您有两个问题,您可能不应该像这样将它们组合在一起。对于您的代码示例,我建议关闭,因为它不太可能在 SO 上帮助其他人。如果这个问题被关闭,你的另一个问题('如何插入......'),隐藏在最后,将被忽略,因为这个组合。

标签: javascript text input


【解决方案1】:

除了您在代码中使用了一个额外的“}”之外,您的代码绝对没问题。

<!DOCTYPE HTML>
    <html>
    <head>    
    <script>
    function updateText(text){
    document.getElementById("result").innerHTML =text;
    }
    </script>    
    </head>
    <body>    
    <div id="text">
    Write to change:<input id="slide" type="text" value=""
    onchange="updateText(this.value);" />
    </div>
    <div id="result" style="height:40px;width:40px;border:1px solid #999"></div>
    <br/>
    </body>    
    </html>

但是,在浏览器屏幕中,只有当您将控件远离文本字段时,您才能看到输出。 输入一些内容后,尝试单击浏览器中的其他位置。

【讨论】:

  • Josh 已经发现了语法错误,恕我直言,您应该在您的回答中将这一点归功于他,尽管在这里重复这一点以使您的回答完整(尤其是对于懒惰阅读 cmets 的人)。跨度>
  • @Anthon 同意前面已经指出了额外的“{”,但由于提问者是 JavaScript 新手,我认为她可能会期待输出而不撤销文本字段的控制(onChange 不会扳机)。所以走近只是详细说明一下。 :)
  • 我同意你的回答增加了价值,我会开始回答“正如乔希已经指出的......”。 (乔希的评论最初是一个答案,由我的一位版主感动,在我的旗帜上)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-29
  • 1970-01-01
  • 2016-08-06
  • 2019-05-30
  • 2013-10-19
  • 2013-12-13
  • 1970-01-01
相关资源
最近更新 更多