2015-08-10 2 views
1

я встретил странную проблему:Jquery ошибка поля ввода: Uncaught ReferenceError

У меня есть поле ввода в моей форме для RFID-метка сканирования:

<input id="readRfidTag"> 
<div id="scanResult"></div> 

JQuery для извлечения отсканированного ID является:

var tagID; 
$(document).on('keypress', '#readRfidTag', function(e) { 
    if (e.which!=13) { // Enter is pressed 
    return; 
    } 
    tagID = $('#readRfidTag').val(); 
}); 

Если идентификатор отсканированного идентификатора начинается с номера, все в порядке. Однако, если он начинается с буквы на английском языке, произойдет ошибка. Я проверил с инструментом для разработчиков в Chrome (F12), как показано на прилагаемой картинке, это нормально, если я вошел в «123», однако, «e456» вызывает следующую ошибку: начиная

Uncaught ReferenceError: e456 is not defined 
    at <anonymous>:2:1 
    at Object.InjectedScript._evaluateOn (<anonymous>:905:140) 
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:838:34) 
    at Object.InjectedScript.evaluate (<anonymous>:694:21) 

Данные с письмом кажется для обработки как переменной (вместо строки), которая не определена. В чем проблема?

enter image description here

+2

'' 'отсутствует в' tagID = ('#readRfidTag'). val(); ' –

+0

Извините, это опечатка и исправлена. –

ответ

3

Похоже, вы входите в те, в консоли браузера .... если так числовое значение рассматривается как буквальное и обрабатывается как таковой .. но значение как e456 это считается имя переменной, так как такая переменная не найдена, ошибка возникает ... если вы ищете aa string literal try 'e456'

Смежные вопросы