В Windows Phone - формы данных (HTML) автоматически передаются сканером штрих-кода - PullRequest
0 голосов
/ 11 июля 2011

Я ранее задавал этот вопрос здесь:

Запретить пользователю использовать ввод для передачи формы

и мне удалось получить ключ ввода, чтобы не пропустить форму, но этого было недостаточно для решения проблемы. Я использую телефон 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>

Вот где это происходит.

Надеюсь, вы можете помочь.

Ответы [ 2 ]

1 голос
/ 20 июля 2011

Я сталкивался с этой проблемой раньше на сайте интрасети, который принимал штрих-код.

Хотя, возможно, что-то особенное происходит в моем инстинкте, это то, что ваша первоначальная мысль верна, захват этой прессы решит проблему.

Одна вещь, которую я заметил, заключается в том, что, несмотря на всю простоту, захват вводимой печати может быть немного привередливым. Удалось ли вам проверить свою страницу за пределами Windows Phone, чтобы убедиться, что отправка при входе действительно отключена?

Если да, то пытались ли вы вставить оповещение в функцию захвата ввода, чтобы проверить, правильно ли он попадает, когда вы находитесь на Windows Mobile?

Вы можете попробовать это - (Вы замените код $ () на onkeypress тела, если вы не используете jquery)

    <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.

1 голос
/ 19 июля 2011

Я только делаю здесь предположение, поскольку у меня нет под рукой тестового устройства под управлением WinMo, но, поскольку вы не упомянули об этом явно, вы отключили функцию AutoEnter в DataWedge?

[HKEY_CURRENT_USER \ Software \ Символ \ DataWedge \ Штрих-код]

AutoEnter

DWORD

Устанавливает, следует ли отправлять клавишу ВВОД (код виртуальной клавиши VK_RETURN) после штрих-кода (и после любого выбранного суффикса) 0 = не отправлять клавишу ВВОД 1 = отправить клавишу ВВОД

...