在输入文本字段上按Enter键以提交表单

时间:2016-02-05 11:10:07

标签: javascript forms dom click eventhandler

在我的代码中,我希望能够按Enter键并按下我的输入按钮。 目前我没有运气,对我的代码有任何建议吗?谢谢,

<form>

    <input type="text" id="input" placeholder="Enter your name"> 

    <input type="button" id="button" value="enter">

</form>

<h1 id="output">Please Complete Form</h1>


<script>
var button = document.getElementById("button");
var input; 
var output;

button.addEventListener("click", clickHandler, false);
input.addEventListener("keypress", handle, false);

function clickHandler () {

    input = document.getElementById("input");
    output = document.getElementById("output");

    output.innerHTML = input.value; 

    }

function handle(e){
    if(e.keyCode==13){
    document.getElementById('button').click();
    }

    }

</script>

2 个答案:

答案 0 :(得分:2)

  

您不需要在输入上附加keypress事件,因为输入类型文本的性质是在按下enter键时提交表单。

注意:当input被附加到它时,变量addEventListener未定义,因此会产生错误。

试试这个:

&#13;
&#13;
var button = document.getElementById("button");
var input = document.getElementById("input");
button.addEventListener("click", clickHandler, false);

function clickHandler() {
  var output = document.getElementById("output");
  output.innerHTML = input.value;
}
&#13;
<form>
  <input type="text" id="input" placeholder="Enter your name">
  <input type="button" id="button" value="enter">
</form>

<h1 id="output">Please Complete Form</h1>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

试试这个......

<input type="text" id="input" placeholder="Enter your name" onkeydown="if (event.keyCode == 13) { this.form.submit(); return false; }">

这可能有帮助。