Страница 1 из 1

Jquery type=number

СообщениеДобавлено: 11 дек 2013, 13:40
rss
При вводе не числа в Chrome, выдает сообщение об ошибке. В Мозиле, не выдает...и т.д. Но хотелось бы сделать единую проверку на ввод чисел. Код замечательно работает при input type=text:

Код: Выделить всё
$('.sq input').unbind().blur( function() {
    var id = $(this).attr('id');
    var val = $(this).val();
    switch(id)
    {
        case 'id_sq_pl':
            if(!val.length) return false;
            val = +val.replace(',','.');
            if(!val) {$(this).val('');alert('Введите правильное число'); return false};
            val = Math.round( val * 10 ) / 10;
            $(this).val((''+val).replace('.',','))
        break;
    }

});

а вообще нужна, такая проверка:

Код: Выделить всё
$('.sq input').unbind().blur( function() {
    var id = $(this).attr('id');
    var v = $(this).val();
    var r = /^[0-9]?\d{0,5}[\.,]?\d{0,1}$/g;
    switch(id)
    {
        case 'id_sq_pl':
            if (r.test(v) || v == '' ) {
                $(this).val(v);
                $(this).next().text('Правильно');
            } else {
                $(this).next().text('Не правильно');
            }
        break;
    }

});
но опять таки выдает, в любом случае Правильно

пс. Нужно: - пустое поле // ОК - .5 // в 0.5 и ,5 в 0.5 - 5. и 5, // в 5 - 5,555 // 5.5 (округляет) - иное Не правильно, т.е. все варианты человеческих ошибок при вводе

само поле input type=number