2012-03-26 13 views
0

ich ein Neuling auf Jquery und Javascript bin so ist dies eine dumme Frage sein kannJQUERY zu filtern Eingabe in einem Textfeld

Ich habe ein Textfeld und ich möchte den Eingang filtern

so wird es nur lassen der Benutzer gibt in [AZ] Zeichen ein und auch wenn die Länge von [AZ] 3 erreicht hat, wird der Benutzer auch daran gehindert, weitere Zeichen einzugeben

Antwort

1

Sie benötigen eine Funktion, die das Eingabefeld "überwacht". Etwas wie:

$('#yourfield').change(function() { 
    $val = $(this).val(); 
    if($val.length() > 2) $(this).attr('disabled', true) 
// so on, just to give you some ideas 
}); 
1

http://jsfiddle.net/GLXuv/7/

$('#sexyInput').keyup(function() { 
    $(this).val($(this).val().replace(/[^A-Za-z]/g, '')); 

    if($(this).val().length >= 3) $(this).prop('disabled', true); 
});​ 
1

Es gibt zwei Möglichkeiten, eine Eingabemaske von einem Benutzer ausgefüllt werden kann:

  1. Benutzertypen in Form.
  2. Benutzer fügt in das Formular ein.

Dies erfordert zwei getrennte Ereignisse Bindung:

$('.numbers-only').keypress(function(e) { 
    // Allow only keys [A-Za-z] and enter 
    if (e.which !== 13 && ((e.which < 65 || e.which > 90) && (e.which < 97 || e.which > 122))) { 
     e.preventDefault(); 
    } 
}).bind('paste', function() { 
    var el = this; 
    setTimeout(function() { 
     // replace anything that isn't a number with '' 
     $(el).val($(el).val().replace(/[^A-Za-z]/g, '')); 
    }, 100); 
});