JavaScript - 如何将输入“转换”为不同的输入

时间:2014-10-22 11:32:23

标签: javascript html

我正在尝试创建一个程序,如果你在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>

3 个答案:

答案 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;

indexOf method