Javascript 单击'时停止表单提交;Go';在手机上

Javascript 单击'时停止表单提交;Go';在手机上,javascript,html,.net,forms,mobile,Javascript,Html,.net,Forms,Mobile,是否有一种方法可以将按钮链接到输入,这样当您在.NET上下文中按键盘上的Next或Go时,手机就知道该怎么做了(即,在输入上按“Go”会假装单击Next按钮,而不是提交表单) 让我们谈谈代码。我有下面的标记,其中通过js注入的通过javascript注入到一个大的形式中(渐进增强) &磅; 接受 在大多数移动浏览器上,当您更改数字输入中的值并按下Go或Enter时,它会假装按下按钮(在我的情况下,按钮上绑定了一个重要事件)。然而,在一些旧的Android设备上,按Go将提交表单,这不是我想要

是否有一种方法可以将按钮链接到输入,这样当您在.NET上下文中按键盘上的
Next
Go
时,手机就知道该怎么做了(即,在输入上按“Go”会假装单击Next按钮,而不是提交表单)

让我们谈谈代码。我有下面的标记,其中通过js注入的
通过javascript注入到一个大的形式中(渐进增强)


&磅;
接受
在大多数移动浏览器上,当您更改数字输入中的值并按下
Go
Enter
时,它会假装按下按钮(在我的情况下,按钮上绑定了一个重要事件)。然而,在一些旧的Android设备上,按
Go
将提交表单,这不是我想要的。澄清:我想让
Go
按钮假装按下按钮,而不是提交表单

注意: NET仅与此问题相关,因为所有内容都包装在一个表单中,这意味着我无法围绕输入和按钮创建单独的表单,并高举新表单的提交

我制作了一个JSBin,在那里我可以用
Android2.2
手机复制这个bug,尽管我认为它也存在于其他糟糕的浏览器上。它在iOS 6+
和安卓2.3+上正常工作

以下是演示页面:

这里是编辑版本:

Go和Enter都有键盘上的Enter键(13),因此您只需创建一个JavaScript或jQuery函数来覆盖默认行为并触发按钮按下。类似于(jQuery中的示例):


请注意,一些浏览器使用e.keyCode,其他浏览器使用e.which来确定按键代码。

什么移动平台?我在HTC Desire的默认浏览器上看到了这个错误。我想其他具有类似Android+垃圾浏览器版本的平台也存在这个问题。理想情况下,我正试图找到一个解决方案,消除浏览器“猜测”该做什么的需要。太棒了。似乎是他干的。当按下enter键时,我没有返回false,而是触发了按钮上的click事件。
<form class="dotNET-form-wrapper">
    <div class="injected-via-js">
        <div>
            <span>&pound;</span>
            <input type="number" />
        </div>
        <div>
            <button>accept</button>
        </div>
    </div>

    <!-- More form elements -->
</form>
$(your_form_or_input).keypress(function (e) {
  if (e.keyCode == 13) {
    return false;
  } else {
    // your code here...
  }
});