Link to home
Start Free TrialLog in
Avatar of JackOfPH
JackOfPHFlag for Philippines

asked on

Disallow letters in a textbox...

Hi,

How do you disallow the textbox for accepting letters?

I do not want to use regular expression since it is validated only when the control losses focus.

I want it to happen during text keypress....

is this possible...

I am using ASP.net 1.1.

Regards,

Joseph
Avatar of vikas413
vikas413
Flag of India image

do following

<asp:TextBox id="txtQty"  runat="server" onkeypress= "fncInputNumericValuesOnly('txtQty')"/>

write JavaScript function something like given below in your aspx page

function fncInputNumericValuesOnly()
      {
            if(!(event.keyCode==45||event.keyCode==46||event.keyCode==48||event.keyCode==49||event.keyCode==50||event.keyCode==51||event.keyCode==52||event.keyCode==53||event.keyCode==54||event.keyCode==55||event.keyCode==56||event.keyCode==57))
            {
                  event.returnValue=false;
            }
      }

this function will allow only numeric characters in text box.. you can change the values according to your requirement
Avatar of JackOfPH

ASKER

It does not work...

any Ideas why? Below is my code...
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <script language="javascript" type="text/javascript" >
    function fncInputNumericValuesOnly()
      {
            if(!(event.keyCode==45||event.keyCode==46||event.keyCode==48||event.keyCode==49||event.keyCode==50||event.keyCode==51||event.keyCode==52||event.keyCode==53||event.keyCode==54||event.keyCode==55||event.keyCode==56||event.keyCode==57))
            {
                  event.returnValue=false;
            }
      }
      
      </script>

</head>
<body>
    <form id="form1" runat="server" >
    <div>
        <asp:TextBox ID="TextBox1" runat="server" onkeypress="fncInputNumericValuesOnly(TextBox1)"></asp:TextBox>
     </div>
    </form>
</body>
</html>

Open in new window

Is there something I need to set?
Try this
      <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <script language="javascript" type="text/javascript" >
    function fncInputNumericValuesOnly()
      {
            if(!(event.keyCode==45||event.keyCode==46||event.keyCode==48||event.keyCode==49||event.keyCode==50||event.keyCode==51||event.keyCode==52||event.keyCode==53||event.keyCode==54||event.keyCode==55||event.keyCode==56||event.keyCode==57))
            {
                  event.returnValue=false;
            }
      }
      
      </script>

</head>
<body>
    <form id="form1" runat="server" >
    <div>
        <asp:TextBox ID="TextBox1" runat="server" onkeypress="fncInputNumericValuesOnly()"></asp:TextBox>
     </div>
    </form>
</body>
</html>

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of masterpass
masterpass
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
here is equivalent HTML page you can convert it to ASPX by replacing textbox input to aspx text box control

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <script language="javascript" type="text/javascript" >
    function fncInputNumericValuesOnly()
      {
            if(!(event.keyCode==45||event.keyCode==46||event.keyCode==48||event.keyCode==49||event.keyCode==50||event.keyCode==51||event.keyCode==52||event.keyCode==53||event.keyCode==54||event.keyCode==55||event.keyCode==56||event.keyCode==57))
            {
                  event.returnValue=false;
            }
      }
      
      </script>

</head>
<body>
    <form id="form1" runat="server" >
    <div>
        <input type="Text" ID="TextBox1"  onkeypress="fncInputNumericValuesOnly()"/>
     </div>
    </form>
</body>
</html>

Open in new window

I am using firefox, did you try the code in firefox?

I donot know why it is not working...