0

我之前在这里问过这个问题:

阻止用户使用 enter 传递表单

而且我设法让输入键不通过表单,但这还不足以解决问题。我正在使用 Window 的手机并使用Datawedge将扫描的条形码传递给表单。一旦我扫描了一个 SKU,它就会自动通过并输入。这很烦人,因为我还有其他几个用户需要输入的区域。

如果有人有任何想法,我将不胜感激。如果错误是表单方面,这里是代码:

<div class="search">        

  <form action="search.php" method="post">

    Search by SKU:<br />

      <input  id="entry" type="text" name="sku" />

        <br />

    Search by Description:<br />

      <input id="entry" type="text" name="desc" />

        <br />

      <input id="sub" type="submit" />

  </form>

这就是它正在发生的地方。

希望你能帮忙。

4

2 回答 2

1

我只是在这里猜测,因为我手头没有运行WinMo的测试设备,但是由于您没有明确提及,您是否禁用了DataWedge的AutoEnter功能?

[HKEY_CURRENT_USER\Software\Symbol\DataWedge\Barcode]

自动输入

双字

设置是否应在条形码之后(以及在任何选定的后缀之后)发送 ENTER 键(VK_RETURN 虚拟键代码) 0 = 不发送 ENTER 键 1 = 发送 ENTER 键

于 2011-07-19T11:54:51.097 回答
1

我之前在接受条形码输入的 Intranet 站点上遇到过这个问题。

虽然我的直觉可能会发生一些特别的事情,即您最初的想法是正确的,但捕捉回车压力将解决问题。

我注意到的一件事是,尽管如此简单,但捕捉回车压力可能有点挑剔。您是否能够在 Windows Phone 之外测试您的页面以验证输入时提交是否确实被禁用?

如果是这样,您是否尝试在输入捕获功能中设置警报,以查看在 Windows Mobile 上是否正确命中?

您可能想试一试 - (如果您不使用 jquery,您将使用正文 onkeypress 替换 $() 代码)

    <script type="text/javascript">
                    function disableEnterKey(e) {
                        var key;
                        if (window.event)
                            key = window.event.keyCode; 
                        else
                            key = e.which; 

                        if (key == 13)
                            return false;
                    }

                    $(function () {
                        document.onkeypress = disableEnterKey;
                    });

   </script>

如果我要重新讨论您已经彻底消除的内容,我深表歉意。我只知道我经历了类似的过程并最终回到了 javascript 解决方案。

于 2011-07-19T21:59:00.643 回答