Sprawdź, czy pole tekstowe ma pustą wartość


90

Mam następujący kod:

var inp = $("#txt");

if(inp.val() != "")
// do something

Czy istnieje inny sposób sprawdzenia pustego pola tekstowego za pomocą zmiennej „inp”


1
czy powinieneś sprawdzić również za pomocą wykończenia?
Sarawut Positwinyu

2
Dlaczego inp.val() != ''nie jest zalecana?
Matteo Tassinari

Odpowiedzi:


170
if (inp.val().length > 0) {
    // do something
}

jeśli chcesz czegoś bardziej skomplikowanego, rozważ wyrażenie regularne lub użyj wtyczki walidacyjnej, która zajmie się tym za Ciebie


6
nie potrzebujesz> 0 w tym przypadku, o ile wiem. jeśli długość wynosi 0, będzie wyglądać jak if (0), a warunek nie powiedzie się.
icarus

lub po prostu if (inp.val ())
ejaenv

96
var inp = $("#txt").val();
if(jQuery.trim(inp).length > 0)
{
   //do something
}

Usuwa spacje przed sprawdzeniem. Jeśli użytkownik wprowadził tylko spacje, to nadal będzie działać.


3
To idealne rozwiązanie!
shasi kanth

1
@Grimmy Podoba mi się fakt, że dołączyłeś trim. To sprawia, że ​​ta odpowiedź jest kompletna.
MadushM,

6
Dlaczego nie być konsekwentnym? Albo użyj, $albo jQuerydlaczego oba?
user2019515

16
if ( $("#txt").val().length > 0 )
{
  // do something
}

Twoja metoda kończy się niepowodzeniem, jeśli w polu tekstowym jest więcej niż 1 znak spacji.


7
$('input:text').filter(function() { return this.value.length > 0; });

7

Użyj poniższych, aby sprawdzić, czy pole tekstowe jest puste lub czy zawiera więcej niż 1 spację

var name = jQuery.trim($("#ContactUsName").val());

if ((name.length == 0))
{
    Your code 
}
else
{
    Your code
}

5
Czy jest jakiś szczególny powód, aby mieć na tym dwie pary szelek if?
Pedro Moreira

5
if ( $("#txt").val().length == 0 )
{
  // do something
}

Musiałem dodać ==, aby działał dla mnie, w przeciwnym razie zignorował warunek nawet przy pustym wprowadzeniu tekstu. Może komuś pomóc.



4

Sprawdzenie można wykonać w następujący sposób:

if (!!inp.val()) {

}

a jeszcze krócej:

if (inp.val()) {

}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.