问题描述
如标题所示,我想通过输入文本查看我在写什么。
这是我的代码:
当我写字时,我可以看到 [object HTMLInputElement]
里面的 h2
但如果我什么都不写,我就什么也看不到。有什么想法吗?
解决方法
您不必将对象 txtLogo
设置为文本,而是将其设置为 value
。
function setLogo(txtLogo){
//edit logo by textarea
var myLogo = $("#title-logo");
myLogo.text(txtLogo.value);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="txtLogo" onkeyup="setLogo(this)" value="Logo Text">
<h2 id="title-logo"></h2>
就您而言,您正在传递一个元素。但是你需要传递这个元素的文本值。您可以通过两种方式解决此问题。
将 value 参数添加到 txtLogo
。应该是这样的:
myLogo.text(txtLogo.value);
或者您可以在事件 onkeyup 中为 this
编写相同的参数,在 <input>
标签内。像这样:
onkeyup="setLogo(this.value)"