27 Ağustos 2012 Pazartesi

Textbox içerisine sadece rakam (0-9) girilmesine izin vermek

Form tasarlarken ve kodlarken bazı form alanlarımız sadece sayısal veri içermek zorundadır; Telefon Numarası, Posta Kodu ve Yaşınız gibi alanlar olabilir. Bu alanlara sayısal verilerin dışında içerik girilmesi hem arka tarafta ekleme ve çekme işlemlerimizde sıkıntı yaşattığı gibi arayüz tarafında kullanıcı dostu olmamaktadır. Bu duruma benzer bir olayı hızlı bir şekilde nasıl çözeriz onu inceleyeceğiz:

Tabiki client tarafında çözülecek bir durum olduğundan başvuracağımız yer JavaScript oluyor ve bir kaç satır javascript ile textbox'a girilen değer rakam ise yazdıracağız değilse false dönülecek ve yazılmayacaktır. 

 <SCRIPT language="javascript" type="text/javascript">  
    <!--  
    function isNumber(evt)  
    {  
      var charCode = (evt.which) ? evt.which : event.keyCode  
      if (charCode > 31 && (charCode < 48 || charCode > 57))  
       return false;  
      return true;  
    }  
    //-->  
 </SCRIPT>  

Textbox kullanırken onkeypress attribute'nde isNumber fonksiyonumuzu çağırıyoruz ve rakam dışında bir karektere bastığımızda giriş yapılmayacak ama rakam girebilecek!

 <form id="form1" runat="server">                    
      <asp:TextBox ID="TextBox1" MaxLength="7" onkeypress="return isNumber(event)" runat="server">  
      </asp:TextBox>  
 </form>  

Bu çözüm sadece Asp.Net te Textbox için değil,  düz HTML input etiketi için de geçerlidir.

 <INPUT id="txtNumber" onkeypress="return isNumber(event)" type="text" name="txtNumber">  


İyi çalışmalar
Saygılarımla

Hiç yorum yok: