[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: jQuery валидация формы input
Страницы: 1, 2
Kumirska
Добрый день, форумчане!

Задача стоит сделать так, чтобы форма ввода текста не давала ввести ничего, кроме целого положительного числа.

У меня поле:

<input type="text" class="myinput_number_form" placeholder="пример: 1200900" style="width: 108px">

Покопавшись в интернете, я наваял следующее:

$(document).ready(function(){
$(".myinput_number_form").change(function() {
if(!((this.value^0)===this.value)){
this.value = '';
}
}
);
});

Но увы, мои ваяния пока не работоспособны. Направьте, кто знает, пожалуйста

_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
mvg
Только сейчас увидел что в jquery есть селектор odd который проверяет на чет/нечет (http://api.jquery.com/odd-selector/).

И вообще гугл отличная штука! Зря что Вы до сегодня не используете ее :-(.

Например вот:

$("#list .item:even").append(" первый!").css("background-color", "#cceecc");
$("#list .item:odd").append(" второй!").css("background-color", "#eeeeee");;

отсюда http://jquery.page2page.ru/

Но если жквери не нужен тогда
if (2 % 2 == 0)
alert("2 - четное число");
if (3 % 2 == 1)
alert("3 - не четное число");


Естественно в гугле вариантов несчесть и поэтому советую не пренебрегать им.
Kumirska
Цитата (mvg @ 12.11.2014 - 11:23)
mvg

Вы наверно ошиблись темой. Мне не нужны чет/нечет и сарказм с поиском тут не уместен.

Гугл использую регулярно, много велосипедов нашел, но, так, как подобные вещи очень распространены в использовании, уверен есть решение "как надо". Для этого и написал сюда, чтоб узнать мнение экспертов, которые уже знают про :odd Selector.

_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Игорь_Vasinsky
Цитата
Задача стоит сделать так, чтобы форма ввода текста не давала ввести ничего, кроме целого положительного числа.


    <input type="text" onkeyup="this.value = this.value.replace(/[^0-9]/, '')" name="myinput"/>


http://jsfiddle.net/anqvd6fk/

скучно даже...

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
www
Возможно вместо
this.value

нужно
this.val()

или
$(this).val()
Игорь_Vasinsky
нужно или возможно?

value - это свойство объекта
val() - метод, возвращающий value - к тому же от jquery

в моём коде нет и намёка на jquery, он там и не нужен вообще.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Kumirska
Игорь_Vasinsky
Спасибо, Игорь!

Согласен, скукота и мелочь! Я не рассматривал регулярки, так как не силен пока в них. Скоро дойду! Чтобы не писать "сделайте мне с регуляркой готовое решение", я сначала предложил решение, которое смог сделать сам smile.gif


_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Игорь_Vasinsky
Этож Юра вроде)

мой код даёт ввести что угодно - просто удаляет всё что не число от 0 до 9

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
SerginhoLD
Года два назад сделал это, перехват ввода текста
(function($)
{
$.fn.changeNumber = function(options)
{
var settings = $.extend({
'point' : false
}, options);


this.each(function()
{
$(this).keydown(function(event)
{
if (event.keyCode == 46 || event.keyCode == 8)
{
// Разрешаем: backspace, delete
return true;
}
else if (event.keyCode == 190)
{
// точка
if ($(this).val().indexOf('.') != -1 || settings.point == false)
{
return false;
}
}

else if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 ))
{
// не цифры
return false;
}
}
);
});

return this;
};
})(jQuery);

$(function() {
$('input').changeNumber();
});


_____________
"internet explorer всех правильней отображает страницы" ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.