如果在文本框中提交了特定单词,请执行一项功能

时间:2019-04-17 09:35:45

标签: javascript

如果提交了特定的单词,我如何让文本框执行功能。我有一个可以在mousedown上跳转的机器人,如果我在文本框中写跳转或写move的话,我希望它跳转,它可以执行move功能。我尝试了几件事,但无法正常工作

在这里输入代码

 <form id="formDiv" action="" >
Command the robot!: <input type="text" size="50" onkeydown="keyCode(event)"> 



</form> 
    <div id="canvasDiv" width="500" height="10"></div>
    <script type="text/javascript" src="robotti.js"></script>
    <script type="text/javascript">
        prepareCanvas(document.getElementById("canvasDiv"), 500, 500);

        document.getElementById("canvasDiv").onmousedown = function() { 
            jump(); }

            //document.getElementById("canvasDiv").onkeypress = function() { 
            //move(); }

            document.getElementById("canvasDiv").window.onkeypress = function(event) {
   if (event.keyCode == 41) {
      move();
   }
}
    </script>

3 个答案:

答案 0 :(得分:0)

这应该有效-:

var text = getElementById("canvasDiv").value;
if(text.includes("move") || text.includes("jump")){
    jump();
    getElementById("canvasDiv").value = "";
}

答案 1 :(得分:0)

请使用onkeyup代替onkeydown

<!DOCTYPE html>
<html>
<body>



<input type="text" id="canvasDiv" onkeyup="keyCode()" value="">


<script>
function keyCode(e) {
 var text = (document.getElementById("canvasDiv").value).toLowerCase();
 if(text  == 'jump' || text == 'move'){
 	//call jump function here
    alert("jump");
 }
 
}
</script>

</body>
</html>

答案 2 :(得分:0)

您不应使用onkeydown等HTML属性,而应使用EventListener。在您的输入字段上注册一个,获取其值并检查(通过switchif...else)用户输入的内容。根据用户的输入,执行您的功能。

document.querySelector('input[type="text"]').addEventListener('keyup', function() {
  switch (this.value) {
    case 'move':
      console.log('move!'); // Your actual function here
      this.value = ''; // Reset value
      break;
    case 'jump':
      console.log('jump!'); // Your actual function here
      this.value = '' // Reset value
      break;
  }
});
Command the robot!: <input type="text" size="50">


进一步阅读:

Why is inline event handler attributes a bad idea in modern semantic HTML?
document.querySelector