因此,我是js新手,正在尝试了解基本知识。我决定做一个基本的网页文本编辑器。现在我正试图用js来区分单词。这是我的代码,基本上它决定了文本区域中是否输入了单词“bob”。
<script>
function findBob() {
var inputText = document.getElementById("box").innerHTML;
if(inputText === "bob") {
document.getElementById("box").innerHTML = "true";
}
if (inputText !== "bob") {
document.getElementById("box").innerHTML = "false";
}
}
</script>
<textarea rows=10; col= 5; id="box">
bob</textarea>
<button onClick="findBob();">FIND BOB</button>
现在,在我点击“查找bob”按钮后,它将文本更改为“true”,这是完美的,但是,如果我在文本区域添加了一些胡言乱语,然后再次单击“查找bob”,则不会发生任何事情。如果我对textarea做了任何操作,该函数将无法工作。即使我重新加载页面,将“bob”退格并重新键入“bob”,也不会发生任何事情。
现在我想我已经破坏了一些javascript语法,或者类似的东西,但我无法理解。我做错了什么?
-编辑-我正在使用 ===
,与其他方法不同,因为这是另一个stackoverflow post,请在此处找到它。
2条答案
按热度按时间hm2xizp91#
这个
innerHTML
textarea的值表示其默认值。使用javascript更改默认值仅在以下情况下有效:
该值未更改为默认值或默认值
表单已重置
在文本区域中键入后,这两个选项都不正确。
使用
value
属性来更改当前值,而不是innerHTML
.wr98u20j2#
@quentin回答了您的基本问题,但您可以将代码重构为以下更好的形式: