【发布时间】:2014-04-01 10:51:14
【问题描述】:
有没有办法将按钮链接到输入,所以当您在 .NET 上下文中按下键盘上的Next 或Go 时,手机知道该怎么做(即在输入上按下“Go”会伪造点击下一步按钮而不是提交表单)?
让我们谈谈代码。我有以下标记,其中injected-via-js 通过 javascript 注入到一个大表单中(渐进增强)。
<form class="dotNET-form-wrapper">
<div class="injected-via-js">
<div>
<span>£</span>
<input type="number" />
</div>
<div>
<button>accept</button>
</div>
</div>
<!-- More form elements -->
</form>
在大多数移动浏览器上,当您更改数字输入中的值并按 Go 或 Enter 时,它会伪造按钮按下(在我的情况下,它绑定了一个重要事件)。然而,在一些旧的 Android 设备上,按下 Go 会提交表单,这 不是 我想要的。澄清一下:我希望 Go 按钮伪造按钮按下,而不是提交表单。
注意: .NET 仅与此问题相关,因为 everything 都包含在表单中,这意味着我无法围绕输入和按钮创建单独的表单并劫持新表单的提交。
我制作了一个 JSBin,我可以在其中使用Android 2.2 电话复制此错误,尽管我认为它也存在于其他不良浏览器上。它在 iOS 6+ 和 Android 2.3+ 上按预期工作。
这里是演示页面:http://jsbin.com/tebizoda/2
【问题讨论】:
-
什么移动平台?
-
我在默认浏览器上运行 Android 2.2 的 HTC Desire 上看到了这个错误。我想其他具有类似版本的 Android + 垃圾浏览器的平台也有这个问题。理想情况下,我试图找到一种解决方案,使浏览器无需“猜测”该做什么。
标签: javascript html .net forms mobile