Проблема с jQuery val () в Firefox / Safari

#javascript #jquery #html #css #javascript-framework

#javascript #jquery #HTML #css #javascript-фреймворк

Вопрос:

Я пытаюсь получить доступ к значению текстового поля, используя код jQuery;

 $("#pg_textbox").val();
  

Но это не возвращает правильное значение в Firefox / Safari..

Даже

 $("#paging_textbox").attr("value") 
  

не работает..

В отладчике firefox это как бы говорит keyCode = 13, .. .

Но я хочу фактическое значение, введенное пользователем.. Пожалуйста, помогите мне. Спасибо.

* Обновленный код

HTML

 <input type="text" maxlength="5" size="2" value="1" id="paging_textbox">
  

JS

 textValue = $("#paging_textbox").attr("value");
alert(textValue);
  

Комментарии:

1. это текстовая область или поле ввода (тип = текст)? попробуйте указать селектор более точно: $(‘textarea#pg_textbox’).val() ?

2. Вы уверены, что селектор правильный? В вашем примере выше вы показываете два разных селектора.

3. Кажется, вы используете неправильный селектор.. Попробуйте просмотреть исходный код страницы и найти текстовое поле с id = pg_textbox или проверьте его в firebug.

4. Идентификатор на странице правильный.. Это просто была ошибка копирования / вставки здесь… Итак, это текстовое поле, имеющее код в виде <тип ввода =»текст» максимальная длина = «5» размер = «2» значение = «1» идентификатор = «paging_textbox»> Пожалуйста, помогите. Спасибо.

5. Ключевой код 13 — это клавиша ввода (или возврата каретки). Это похоже на событие, которое запускается после использования этого ключа.

Ответ №1:

Проверьте идентификатор / имя вашего текстового поля.

HTML:

 <input type="textbox" id="pg_textbox" name="pg_textbox" value="Hello!" />
<input type="button" id="GetValue" name="GetValue" value="Get Value" />
  

Javascript:

 $("#GetValue").click(function() {
  alert( $("#pg_textbox").val() ); 
});
  

Попробуйте проверить этот образец на jsFiddle.

Комментарии:

1. итак, имя вашего текстового поля — paging_textbox, тогда? Вы пытались с помощью FireBugs выполнить какую-либо отладку? Вы уверены, что у вас нет ошибок страницы (скриптов)? Не могли бы вы поместить где-нибудь пример кода, чтобы мы могли взглянуть?

2. Итак, в отладчике написано «charCode = 0, keyCode = 13, …»

3. Таким образом, вместо того, чтобы возвращать введенное пользователем значение «01», оно возвращает это в Firefox … хотя в IE работает нормально.. Также, когда я предупреждаю, он сообщает [object KeyboardEvent] для textValue = $ («#paging_textbox»).attr («значение»);

4. @hmthr: Я думаю, вам нужно показать здесь какой-нибудь скрипт. Мне кажется, что вы делаете что-то неправильно:-s

5. Было бы полезно просмотреть сценарий целиком. В любом случае, попробуйте распечатать свою версию jQuery: alert($ ().jquery);