2016-03-20 25 views
0

yazarken giriş kutusundaki belirli karakterleri otomatik olarak silecektir Bir formu doğrulamaya çalışıyorum ve üzerinde çalıştığım giriş kutusu yalnızca sayılardan oluşmalıdır. Bir kullanıcı herhangi bir harf yazmaya başlarsa, otomatik olarak silmelerini ve açıkça yazmaları gerekirse sayıları silmeleri gerekir., kullanıcı

burada benim js: herhangi bir yardım takdir

<input type="Custom" name="donation-amount" class="inpt-first form-control" id="donation-amount" onclick="if(this.defaultValue == this.value) this.value = ''" onblur="if(this.value=='') this.value = this.defaultValue" value="Custom"> 

: Burada

var defaultValue = 10; 

$(document).ready(function() { 

     $('#donation-amount').keyup(function() { 
     if($(this).val()) { 
     $('#display-amount').text($(this).val()); 
    } else { 
     $('#display-amount').text(defaultValue); 
     $("#default").addClass('active'); 
     $("#btn2").removeClass('active'); 
     $("#btn3").removeClass('active'); 
    } 
     if (isNaN($(this).val())) { 
     console.log("false") 
     } else { 
     console.log("true") 
     } 

     }); 
    $(".selectvalue").click(function() { 
     $('#display-amount').text($(this).val()); 
    }); 

    $(".buttons .btn").click(function(){ 
     $(".buttons .btn").removeClass('active'); 
     $(this).toggleClass('active'); 
    }); 
    $('#display-amount').text($('#default').val()); 

}); 

ve benim html!

cevap

0

Bunu ister misin? See this fiddle

var defaultValue = 10; 

$(document).ready(function() { 
     $('#donation-amount').keyup(function() { 
     // check if numbers are type 
     var reg = /^\d+$/; 
     if(reg.test($(this).val())) { 
      $('#donation-amount').val($(this).val()); 
      } else { 
     $('#donation-amount').val(defaultValue); 

      }  
     }); 
}); 
+0

bu harika! ama bir kullanıcı 10 harfleri görüntüleniyorsa ve Özel'in görünmesini istiyorum ve bunu denediğimde ve sildiğimde, – avasssso

+0

Üzgünüm Tam olarak ne istediğini anlamıyorum. Kesinleyebilir misin? –

+0

evet. bu yüzden giriş alanına bir sayı yazdığımda iyi görünüyor ama ben bir harf yazdığımda, 10 var defaultValue = 10; giriş kutusunda görünür ve 10'u silmeye çalıştığımda silinmez. 10 yerine göstermek yerine giriş kutumun değerini görünmesini istiyorum. value = "Custom Umarım bu daha iyi açıklanmıştır – avasssso

0

HTML5 en <input type="number"> yararlanmak isteyebilir. Ancak, durumunuz için çalışmıyorsa veya istenmiyorsa, jQuery'nin keydown() işlevini kullanmayı deneyebilirsiniz.

HTML

<input id="inputField" type="text">

jQuery

$(function() { 
    $("#inputField").keydown(function (e) { 
     if (e.which != 0 && e.which != 8 && (e.which < 48 || e.which > 57)) { 
      $("#quantity").html('').append(); 
     } 
    }); 
}); 

olay ateş tuşları sayısal ve sayısal tuşlar atama aralığında olan bu denetler. Olayı tetikleyen anahtarlar bu koşullarla eşleşmezse, çıkış verilmez. Bununla birlikte, giriş sayısal aralığın içinde kalıyorsa, giriş alanının kendisine (append()) eklenecektir.

Bu standart JavaScript kullanarak bu sağlanabilir dikkati çekiyor: window.addEventListener('keydown', function (e) {});