在Enter键上提交搜索?

时间:2011-08-27 23:55:53

标签: forms

当有人点击“输入”键时,需要做什么才能提交此表单?

<form id="search" onsubmit="javascript:search(document.getElementById('searchText'))">
  <input type='text' id='searchText' autofocus />
  <input type='button' onclick="search(document.getElementById('searchText'))" value='Search' />
</form>

2 个答案:

答案 0 :(得分:3)

您可以使用下面的表单,输入类型为submit,在这种情况下,如果您在任何输入中按Enter键 - 如果您有更多输入 - 这将是要提交的表单的默认行为:

<form id="search">
  <input type='text' id='searchText' />
  <input type='submit' value='Search' />
</form>

或者,如图所示,您希望使用onsubmit函数并处理表单的“提交”,以便您可以这样做:

<form id="search" action="#">
    <input type="text" id='searchText' name="myinput" onkeypress="handle" />
</form>

<script>
    function handle(e){
        if(e.keyCode === 13){
            alert("Enter was just pressed.");
        }

        return false;
    }
</script>

在这个类似的问题上可以找到完全相同的代码:How to trigger enter key press of textbox?

希望我回答你的问题,即使不合时宜。

答案 1 :(得分:0)

这个例子非常适合我:

var input = document.getElementById("myInput");

// Execute a function when the user releases a key on the keyboard
input.addEventListener("keyup", function(event) {
  // Number 13 is the "Enter" key on the keyboard
  if (event.keyCode === 13) {
    // Cancel the default action, if needed
    event.preventDefault();
    // Trigger the button element with a click
    document.getElementById("myBtn").click();
  }
});

I took the example at w3schools.