anurag19289 Ответов: 3

только номер должен быть разрешен с помощью jquery


-- идентификатор текстового поля - txtdistanceops

--он должен разрешать только числовые значения

как 23
24.45
46


$('#txtdistanceops').keydown(function(event) {
                     if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 )
                     {

                     }
                    else
                    {

                       if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 ))
                       {
                       event.preventDefault();

                       }
                   }
                });



-- но это не работает

--страница ASPX
<asp:TemplateField HeaderText="Approved Km By Ops">
                           <ItemTemplate>
                               <asp:TextBox ID="txtdistanceops" MaxLength="6" CssClass="textBox_for6tds" runat="server">  </asp:TextBox>
                               <asp:RegularExpressionValidator ID="revtxtdistanceops" runat="server" Display="Static"

                                   SetFocusOnError="True" ValidationExpression="[0-9]*\.?[0-9]*" ControlToValidate="txtdistanceops"></asp:RegularExpressionValidator>
                           </ItemTemplate>
                           <ItemStyle HorizontalAlign="center" />



-- Сообщение Altert должно отображаться немедленно, если кроме номера нажато что-либо еще

3 Ответов

Рейтинг:
19

Ashishmau

видеть это

http://www.aspdotnet-suresh.com/2013/04/jquery-allow-only-numbers-in-textbox.html[^]

Я изменил функцию, приведенную в приведенной выше ссылке, в соответствии с вашими потребностями и вставил, как показано ниже...вы можете chk..надеюсь, это поможет..

<script type="text/javascript">
    var IsNumber = true;
    $(function () {
        $('#txtNumeric').keydown(function (e) {
            if (e.shiftKey || e.ctrlKey || e.altKey) {
                e.preventDefault();
                IsNumber = false;
            } else {
                var key = e.keyCode;
                if (!((key == 8) || (key == 46) || (key >= 35 && key <= 40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105))) {

                    e.preventDefault();

                    IsNumber = false;

                }

                else {

                    IsNumber = true;

                }

            }



        });

        $('#txtNumeric').keyup(function (e) {

            if (!IsNumber) {

                alert("Number only");

            }

        });



    });

</script>


anurag19289

&ЛТ;глава атрибут runat="сервер"и GT;
в <название&ГТ;&ЛТ;/название&ГТ;
<сценарий тип="текст/яваскрипт" СРЦ="http://code.jquery.com/jquery-1.8.2.js"&ГТ;&ЛТ;/скрипт>
< script type= "text/javascript">
$(функция() {
$('#TextBox1'). keydown (функция (e) {
если (электронная.shiftKey || электронной.ctrlKey || e.данный altKey) {
e. preventDefault();
} еще {
ВАР ки = е.код;
если (! ((ключ = = 8) | /(ключ = = 46) | /(ключ >= 35& & amp; ключ <= 40) | /(ключ >= 48& & amp; ключ <= 57) | /(ключ >= 96& & amp; ключ <= 105)))
{
e. preventDefault();
предупреждение ("пожалуйста, введите числовое значение!");

}
}
});
});
< / script>


-- я пытался получить сообщение об ошибке типа alert [message box].

--но это дает предупреждающее сообщение, но символ[как a] вводится в текстовое поле

anurag19289

один из способов найден- & gt; сбросить текстовое поле после предупреждающего сообщения

&ЛТ;глава атрибут runat="сервер"и GT;
в <название&ГТ;&ЛТ;/название&ГТ;
<сценарий тип="текст/яваскрипт" СРЦ="http://code.jquery.com/jquery-1.8.2.js"&ГТ;&ЛТ;/скрипт>
< script type= "text/javascript">
$(функция() {
$('#TextBox1'). keydown (функция (e) {
если (электронная.shiftKey || электронной.ctrlKey || e.данный altKey) {
e. preventDefault();
} еще {
ВАР ки = е.код;
если (! ((ключ = = 8) | /(ключ = = 46) | /(ключ >= 35& & amp; ключ <= 40) | /(ключ >= 48& & amp; ключ <= 57) | /(ключ >= 96& & amp; ключ <= 105)))
{
e. preventDefault();
предупреждение ("пожалуйста, введите числовое значение!");
$('#TextBox1'). val(");

}
}
});
});
< / script>


-- >пожалуйста, дайте мне знать, как мы можем отобразить ошибку окна сообщения при вводе любого нечислового ключа

anurag19289

И еще одно сомнение
is src="http://code.jquery.com/jquery-1.8.2.js"

это стандартный ФОК ? будет ли это работать везде ?

Ashishmau

видите ли, я обновил свой ответ в соответствии с вашими потребностями, и теперь вы можете проверить...

anurag19289

я пробую это дома.. его работа

но когда я попробовал это в офисе как показано ниже это не сработало:


&ЛТ;%@ страницы язык="в C#" AutoEventWireup значение=значение"true" CodeFile="ApprovingKm.aspx-файл.КС" наследует="TMSWeb.Masters_Route_ApprovedKm" %&ГТ;

&ЛТ;%@ зарегистрироваться в src="../../элементы управления UserControl/контекстное меню.ascx вносятся" отметить,="контекстное меню" атрибута tagprefix="МК UC3" %&ГТ;
&ЛТ;%@ зарегистрироваться в src="../../элементы управления UserControl/CustomDataView.ascx вносятся" отметить,="CustomDataView"
TagPrefix= " uc1 " % & gt;
<!Элемент DOCTYPE в HTML общественности "-//W3C для//определения DTD XHTML 1.0 переходный//ванной" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&ГТ;
< html xmlns="http://www.w3.org/1999/xhtml" >
<%HeaderHTML ("утверждение км", 2, 0);%>
& lt;тело>
<ссылка с href="../../утилиты/стиль/ТМС.ПТК" отн="стилей" тип="текст/CSS в" /&ГТ;

<сценарий тип="текст/яваскрипт" СРЦ="../../Utility/JavaScript/wz_tooltip.js"&ГТ;&ЛТ;/скрипт>

<сценарий тип="текст/JavaScript" языка="JavaScript"; другими&ГТ;&ЛТ;/скрипт>
<сценарий тип="текст/яваскрипт" СРЦ="http://code.jquery.com/jquery-1.8.2.js"&ГТ;&ЛТ;/скрипт>

<сценарий тип="текст/яваскрипт" СРЦ="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"&ГТ;&ЛТ;/скрипт>
< style type= "text/css">
тело
{
семейство шрифтов: Arial;
размер шрифта: 10pt;
}
.выбранный
{
цвет фона: #A1DCF2;
}
< / стиль>

< script type= "text/javascript">
$(функция() {
$('#txtdistanceops'). keydown (функция (e) {
если (электронная.shiftKey || электронной.ctrlKey || e.данный altKey) {
e. preventDefault();
} еще {
ВАР ки = е.код;
если (! ((ключ = = 8) | /(ключ = = 46) | /(ключ >= 35& & amp; ключ <= 40) | /(ключ >= 48& & amp; ключ <= 57) | /(ключ >= 96& & amp; ключ <= 105)))
{
e. preventDefault();
предупреждение ("пожалуйста, введите числовое значение!");
$('#txtdistanceops'). val(");

}
}
});
});
< / script>

anurag19289

< script type= "text/javascript">
$(функция() {
$('[id*=txtdistanceops]'). keydown(функция (e) {
если (электронная.shiftKey || электронной.ctrlKey || e.данный altKey) {
e. preventDefault();
} еще {
ВАР ки = е.код;
если (! ((ключ = = 8) | /(ключ = = 46) | /(ключ >= 35& & amp; ключ <= 40) | /(ключ >= 48& & amp; ключ <= 57) | /(ключ >= 96& & amp; ключ <= 105)))
{
e. preventDefault();
предупреждение ("пожалуйста, введите числовое значение!");
$('[id*=txtdistanceops]'). val(");

}
}
});
});
< / script>


--- теперь это работает

--теперь, когда GridView будет иметь текстовое поле, я думаю, мы должны использовать $('[ИД*=txtdistanceops]').клавиша вниз(функция(е) insetead из $('#txtdistanceops').клавиша вниз(функция(е)

так ли это ?

Рейтинг:
1

Sampath Lokuge

Попробуйте ниже одного.


$(document).ready(function() {
    $("#txtboxToFilter").keydown(function(event) {
        // Allow: backspace, delete, tab, escape, and enter
        if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 || 
             // Allow: Ctrl+A
            (event.keyCode == 65 && event.ctrlKey === true) || 
             // Allow: home, end, left, right
            (event.keyCode >= 35 && event.keyCode <= 39)) {
                 // let it happen, don't do anything
                 return;
        }
        else {
            // Ensure that it is a number and stop the keypress
            if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
                event.preventDefault(); 
            }   
        }
    });
});





Для дополнительной информации :

http://stackoverflow.com/questions/995183/how-to-allow-only-numeric-0-9-in-html-inputbox-using-jquery[^]

Надеюсь, это вам поможет.


anurag19289

Сампат-

когда я пишу событие, то за ним следует. (точка)

я не получаю событие [preventDefault]. preventDefault.

Я ничего не упускаю.

это не работает.

Sampath Lokuge

Ваш редактор против 2012 года ?

Sampath Lokuge

Если это vs 2010, Вы можете использовать приведенную ниже статью для добавления Intellisense.(Я написал эту статью).
Как включить jQuery Intellisense в Visual Studio 2010?:
http://sampathloku.blogspot.com/2012/09/how-to-enable-jquery-intellisense-in-vs.html

Menon Santosh

мой +5

Sampath Lokuge

Спасибо :)

anurag19289

я м с использованием <сценарий тип="текст/яваскрипт" СРЦ="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"&ГТ;&ЛТ;/скрипт>

и его visual studio 2008

Sampath Lokuge

Проверьте ссылку ниже для vs 2008 Intellisense с java script.
http://weblogs.asp.net/scottgu/archive/2007/06/21/vs-2008-javascript-intellisense.aspx