2016-03-29 1 views
2

У меня есть текстовое поле в WebForm, и пользователь ставит фокус на это текстовое поле и сканирует штрих-код. Значение, отсканированное по штрих-коду, помещается в текстовое поле. В конце этого значения сканируется клавиша ENTER. Я хотел бы обнаружить ENTER KEY, но я не знаю, как это сделать.Как обнаружить ENTER KEY из сканирования штрих-кода в ASPX

вот код, который появляется при появлении нажатия клавиши.

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#txtProductCode").on("keypress", function() { 
      alert("asdasd"); 
     }); 
    }); 
</script> 

Я нашел учебник, чтобы проверить введенное значение, как показано ниже

if (e.keyCode == 13) .... 

, но я не имею «е» объект .... Так как я могу проверить KeyCode на KeyPress

+0

Вы можете использовать https://api.jquery.com/change/, затем получает значение из текстового поля, проверяет наличие и продолжает там – lordkain

+2

Просто, чтобы предупредить вас, не все сканеры штрих-кодов отправляются в конце. Я написал свое приложение, чтобы ожидать штрих-коды определенной строки форматирования и совместимости с строкой, ожидая, что это будет правильный штрих-код - так что вы можете по-прежнему вручную вводить их, если хотите, поскольку некоторые сканеры штрих-кода, похоже, вставляются, некоторые отправляют символ по символу, другие нажмите enter в конце, другие - – BugFinder

+0

@BugFinder, спасибо за предупреждение. Я уже тестировал штрих-коды, и мне повезло –

ответ

6

e - это короткая ссылка на var для event object, которая будет передана обработчикам событий.

Объект события по существу имеет много интересных методов и свойств, которые могут использоваться в обработчиках событий, например, функция keyup().

$("#txtProductCode").keyup(function (e) { 
    if (e.keyCode == 13) { 
     alert("asdasd"); 
    } 
}); 

В вашем случае у вас просто отсутствует параметр.

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#txtProductCode").on("keypress", function (e) { 
      if (e.keyCode == 13) { 
      alert("asdasd"); 
      } 
     }); 
    }); 
</script> 

Вы можете найти более подробную информацию в .ondocumentation.

+1

отлично. спасибо много .... Я помету это как ответ за 5 минут –

+0

любой конкретной причине использовать .keyup(), а не .keydown()? – Ortund

+0

@ Ortund Теоретически события keydown и keyup представляют собой клавиши, которые нажаты или выпущены, а событие нажатия клавиши представляет собой типизируемый символ. Реализация теории не одинакова во всех браузерах. – Smartis