Kumirska
12.11.2014 - 14:52
Добрый день, форумчане!
Задача стоит сделать так, чтобы форма ввода текста не давала ввести ничего, кроме целого положительного числа.
У меня поле:
<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 = '';
}
});
});
Но увы, мои ваяния пока не работоспособны. Направьте, кто знает, пожалуйста
_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Только сейчас увидел что в 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
12.11.2014 - 15:38
Цитата (mvg @ 12.11.2014 - 11:23) |
mvg |
Вы наверно ошиблись темой. Мне не нужны чет/нечет и сарказм с поиском тут не уместен.
Гугл использую регулярно, много велосипедов нашел, но, так, как подобные вещи очень распространены в использовании, уверен есть решение "как надо". Для этого и написал сюда, чтоб узнать мнение экспертов, которые уже знают про :odd Selector.
_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Игорь_Vasinsky
12.11.2014 - 15:50
Цитата |
Задача стоит сделать так, чтобы форма ввода текста не давала ввести ничего, кроме целого положительного числа. |
<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
Возможно вместо
this.value
нужно
this.val()
или
$(this).val()
Игорь_Vasinsky
12.11.2014 - 16:00
нужно или возможно?
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
12.11.2014 - 16:01
Игорь_VasinskyСпасибо, Игорь!
Согласен, скукота и мелочь! Я не рассматривал регулярки, так как не силен пока в них. Скоро дойду! Чтобы не писать "сделайте мне с регуляркой готовое решение", я сначала предложил решение, которое смог сделать сам
_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Игорь_Vasinsky
12.11.2014 - 16:02
Этож Юра вроде)
мой код даёт ввести что угодно - просто удаляет всё что не число от 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
12.11.2014 - 16:14
Года два назад сделал это, перехват ввода текста
(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)
{
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 всех правильней отображает страницы" ©
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.