JTL HMTL,onclick事件在点击按钮时提交但在键盘上按下时不提交?

时间:2016-03-20 22:04:10

标签: javascript html ios keyboard

我很难找到解决问题的方法,但搜索结果显示了很多额外的代码(PHP,div等)。

我只使用HTML和JavaScript。

我有一个表格

  <form id="form1">
<input name="name" type="text" size="20">
</form> 

还有一个按钮

<button onclick="outputname()" type="submit">Search</button>

因此,想法是用户在表单上键入数字并单击搜索按钮并执行操作(这很有效)。

但是,如果用户输入一个号码并点击键盘上的Enter按钮,页面就会刷新。在iPad上也是如此。 (&#34;返回&#34;按钮显示而不是&#34; Go&#34;)。

所以我想让Enter按钮在键盘上工作,然后转到iOS上工作。

想法是用户输入客户编号并显示相关详细信息。

3 个答案:

答案 0 :(得分:2)

为输入字段和按钮提供ID,以确保捕获正确的ID:

<强> HTML:

<form action="destination.html" method="post">
    <input id="foo" name="name" type="text" size="20">
    <button id="mybutt" onclick="outputname()" type="submit">Search</button>
</form>

请注意destination.html是您要将数据发布到的位置。如果您希望将其发布到同一文件,只需使用:action=""或将其保留。

<强>使用Javascript:

document.getElementById('foo').onkeypress = function(e){
    if (!e) e = window.event;
    var keyCode = e.keyCode || e.which;
    if (keyCode == '13'){
        var btn = document.getElementById('mybutt');
        mybutt.click();
        return false;
    }
}

来源:

How to detect when the user presses Enter in an input field

Capturing the Enter key to cause a button click with javascript

答案 1 :(得分:1)

插入此: groups 在您的表单标签内。即,您的表单标签必须是这样的 action="post"

答案 2 :(得分:1)

在这种情况下,您可以管理submit事件,而不是key / click个事件。

<form id="form1" onsubmit="outputname()">

通过点击或按Enter键触发的提交事件将调用outputname