Из руководства по jquery для keypress()
:
Чтобы определить, какой персонаж был
вошли, мы можем изучить событие
объект, который передается обработчику
функция. Хотя браузеры используют разные
атрибуты для хранения этой информации,
jQuery нормализует атрибут .which
поэтому мы можем надежно использовать его для извлечения
код символа.
Другими словами, если вы используете jquery, вы можете безопасно использовать e.which
для возврата кода символа, поэтому в вашем случае:
var char = String.fromCharCode(e.which);
- это изменение, которое нужно сделать.
Но лично я бы не наказывал пользователей за ввод нижнего регистра, конвертируя его для них. Возможно добавьте эту модификацию:
$("input.populationReference").keypress(function(e){
var ValidPattern = /^[A-Z_a-z_0-9]*$/;
var char = String.fromCharCode(e.charCode);
if (!ValidPattern.test(char) && e.charCode!=0){
return false;
e.preventDefault();
} else {
var inputval = $(this).value();
$(this).value(inputval.toUpperCase());
}
});