2011-08-09 16 views
15

Jak utworzyć wszystkie znaki w polu tekstowym małymi literami, gdy użytkownik wpisze je w polu tekstowym w Javascript?Jak zrobić wszystko małymi literami automatycznie w JavaScript, ponieważ wpisują one w

<input type="text" name="thishastobelowercase"> 

Dzięki za pomoc.

+3

Hej @JordashTalon. Jeśli którakolwiek z odpowiedzi na poprzednie pytania zadała ci pytanie, powinieneś oznaczyć je jako odpowiedzi. To nagradza tych, którzy pracują, aby ci pomóc, i pozwala innym wiedzieć, że odpowiedzi na te pytania. –

Odpowiedz

8
$('input').keyup(function(){ 
    this.value = this.value.toLowerCase(); 
}); 
30

Chciałbym po prostu zrobić CSS zrobić to dla ciebie zamiast monkeying wokół z javascript:

<input type="text" name="tobelowercase" style="text-transform: lowercase;"> 
+0

+0

Przepraszamy za zapomnienie kodu przykładowego :-) –

+17

Należy zauważyć, że ma to wpływ tylko na wyświetlacz, a nie na rzeczywistą wartość . Innymi słowy w interfejsie użytkownika zobaczysz wszystkie małe litery, ale po stronie serwera zobaczysz wszystkie używane wielkie litery. –

4

Czy ma tylko wyświetlaczu w małych liter, czy też trzeba być małymi literami ? Jeśli chcesz wyświetlić małe litery, możesz użyć CSS text-transform: lowercase.

Mimo to należy wyegzekwować to ograniczenie po stronie serwera, ponieważ użytkownik może wyłączyć dowolny kod JS, który wprowadził, aby wymusić, że pozostanie mały.

Moja sugestia: użyj CSS , aby zawsze wyświetlał się małymi literami, a następnie wykonaj toLower lub jego wariant językowy na serwerze przed użyciem.

14

dwa sposoby:

Korzystanie CSS:

.lower { 
    text-transform: lowercase; 
} 

<input type="text" name="thishastobelowercase" class="lower"> 

Korzystanie JS:

<input type="text" name="thishastobelowercase" onkeypress="this.value = this.value.toLowerCase();"> 
0

Jest to maska ​​dla typu walidacji, który chcesz

(function($) { 
    $.fn.maskSimpleName = function() { 
     $(this).css('text-transform', 'lowercase').bind('blur change', function(){ 
      this.value = this.value.toLowerCase(); 
     }); 
    } 
})(jQuery); 

Zaletą korzystania z niego jest to, że kursor nie przejdzie na koniec wprowadzania każdego wprowadzonego znaku, tak jak w przypadku użycia klucza lub rozwiązania z przyciskami.

$('#myinput').maskSimpleName(); 

Jest to sposób korzystania z niego.

Obs: Ta maska ​​wysyła dane małymi literami również do serwera.

-1

Bootstrap Tekst transform:

<p class="text-lowercase">Lowercased text.</p> 
<p class="text-uppercase">Uppercased text.</p> 
<p class="text-capitalize">CapiTaliZed text.</p> 
Powiązane problemy