Slyweb
На разработку сайта! Скидки 50%!

Jquery type=number

Здесь обсуждается всё, что касается jQuery

Jquery type=number

Сообщение rss » 11 дек 2013, 13:40

При вводе не числа в 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
rss
 
Сообщения: 1
Зарегистрирован: 11 дек 2013, 13:38

Вернуться в Всё о jQuery

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron