Я написал несколько строк, чтобы принимать только числовые символы, но мой script не работает. когда я набираю любой алфавит, он вводится в текстовое поле, которое я не хочу. Я хочу, чтобы текстовое поле принимало только числовое значение и ".". точка для десятичного числа. вот мой script. просто скажите мне, что там не так.
$().ready(function () {
$("input[id*='txtQty']").keyup(function (event) {
var flag = false;
if (event.shiftKey == true) {
event.preventDefault();
}
// Allow Only: keyboard 0-9, numpad 0-9, backspace, tab, left arrow, right arrow, delete
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46) {
// Allow normal operation
flag = true;
} else {
// Prevent the rest
event.preventDefault();
}
if (flag) {
}
});
});
если возможно, дайте мне script, который позволит моему текстовому поле только числовому и десятичному числу. спасибо
вот мой полный script. проблема в том, что он принимает точку "." , которую я не хочу.
$().ready(function () {
$("input[id*='txtQty']").keydown(function (event) {
var flag = true;
if (event.shiftKey == true) {
event.preventDefault();
flag = false;
}
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190) {
} else {
event.preventDefault();
flag = false;
}
if (flag) {
if (jQuery.trim(this.value) != "") {
if (IsNumeric(jQuery.trim(this.value)) == true) {
var Symbol = $("span[id*='lblPrice']").text().trim().substring(1, 0);
var oldprice = $("input[id*='txtHiddenPrice']").val();
var newprice = Math.round((oldprice * this.value), 2);
$("span[id*='lblPrice']").text(Symbol + newprice);
UpdateCart($(this).closest('tr').find("input[id*='txtItemId']").val(), $(this).closest('tr').find("input[id*='txtProductId']").val(), this.value);
}
}
}
});
});
так скажите мне, что мне нужно изменить в моем коде, в результате он не должен принимать десятичное значение. еще одна важная вещь, я присоединяю событие keydown() с системой wild card, потому что у моей страницы может быть много текстовых полей с именем end, например txtQty.
$("input[id*='txtQty']").keyup(function (event) {
пожалуйста, помогите мне. спасибо