Сделал проверку введенного числа на Float. Проверка выполняется при потере фокуса. Но я не могу фокус вернуть на место. Вот функции:
var input_temp;
function isFloat(value){
var pattern=/^(\d+)[,.]?(\d*)$/;
if (pattern.test(value)){
var result = pattern.exec(value);
if (result[2]=="") return result[1];
else return result[1]+"."+result[2];
}
else return "error";
}
$(function(){
$(":text").focus(function(){ // получение фокуса текстовым полем
input_temp=this.value;
$(this).select();
});
$(":text").blur(function(){ // потеря фокуса текстовым полем
var number=$.trim($(this).val());
if (number=="") this.value=input_temp;
else {
var result=isFloat(number);
if (result!="error")
this.value=result;
else {
alert("Ошибка ввода!");
$(this).select().focus();
return false;
}
}
});
});
Если проверка даже и показывает, что введено не число, то фокус все равно теряется... что делать?