我正在尝试创建一个程序,如果你在textarea中键入“less”,输出应显示“<”。这样做的最佳方式是什么?
这是我走了多远:
<!doctype html>
<html lang="en">
<head>
<title>Group 7 - Deckcode to JavaScript</title>
</head>
<body>
<h1>Group 7 - Deckcode to JavaScript</h1>
<p>Input your deckode below:</p>
<textarea id="myTextarea"></textarea>
<button type="button" onclick="myFunction()">Translate</button>
<p id="demo"></p>
<script>
function myFunction() {
var input
if (myTextarea == "less") {
console.log("<");
}
}
</script>
</script>
</body>
</html>
答案 0 :(得分:1)
您正试图错误地从DOM中获取值。使用document.getElementById
在DOM中找到元素,并使用value
获取所需的值。
function myFunction() {
var textAreaValue = document.getElementById("myTextarea").value;
if (textAreaValue == "less") {
console.log("<");
}
}
答案 1 :(得分:1)
我建议使用这样的对象:
var translations = {};
translations["less"] = "<";
translations["greater"] = ">";
然后在你的功能中你会这样:
function myFunction() {
var value = document.getElementById("myTextarea").value;
console.log(translations[value] ? translations[value] : "No translation found");
}
添加更多翻译也很容易,例如基于数据库或类似数据。
答案 2 :(得分:0)
作为IF条件的替代,您可以使用
if (textAreaValue.indexOf("less") > -1) {
console.log("<");
}
所以如果文本区域包含&#34; less&#34;文本然后控制台打印&#34;&lt;&#34;