• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[JAVASCRIPT] Sprawdzanie czy zmienna jest pusta

+1 głos
47 wizyt
pytanie zadane 12 maja w JavaScript przez Piotrek2713 Użytkownik (880 p.)

Robię zadanie z drugiego odcinka JS Pana Mirosława. Próbuję stworzyć warunek sprawdzający, czy zmienna liczba jest pusta.

<!DOCTYPE html>
<html lang="pl">
	<head>
		<meta charset="utf-8">
		<title>Sprawdź Liczbę</title>
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<script type="text/javascript">
			function Sprawdz()
			{
				var liczba = document.getElementById('liczba').value;

				if (liczba<0) document.getElementById('wynik').innerHTML="Liczba "+liczba+" jest ujemna";
				else if (liczba>0) document.getElementById('wynik').innerHTML="Liczba "+liczba+" jest dodatnia";
				else if (liczba==0) document.getElementById('wynik').innerHTML="Liczba jest równa "+liczba;
				else if (liczba=="") document.getElementById('wynik').innerHTML="Wpisz wartość liczbową";
				else document.getElementById('wynik').innerHTML="Wartość "+liczba+" nie jest liczbą";
			}
		</script>
	</head>
	<body>
		<input type="text" id="liczba">
		<input type="submit" value="Sprawdź" onclick="Sprawdz()">
		<div id="wynik"></div>
	</body>
</html>

trzeci warunek nie działa

2 odpowiedzi

+1 głos
odpowiedź 12 maja przez overcq Pasjonat (17,530 p.)
wybrane 12 maja przez Piotrek2713
 
Najlepsza

Trzeci warunek przechodzi:

Lepiej najpierw porównać do pustego ciągu, ponieważ zmienna liczba jest typu string, a następnie skonwertować (parseInt) do liczby i porównywać. Poza tym wtedy można użyć operatora porównania ===

komentarz 12 maja przez Piotrek2713 Użytkownik (880 p.)
Pomyliłem się przy liczeniu, miałem na myśli czwarty warunek. Przeniosłem ten warunek na początek i działa. Dzięki!
0 głosów
odpowiedź 6 dni temu przez VBService Mędrzec (162,950 p.)
edycja 6 dni temu przez VBService

Możesz też spróbować warunek "zamknąć" w bloku try ... catch()

<!DOCTYPE html>
<html lang="pl">
    <head>
        <meta charset="utf-8">
        <title>Sprawdź Liczbę</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
    <body>
        <input type="text" id="liczba">
        <input type="button" value="Sprawdź" onclick="Sprawdz()">
        <div id="wynik"></div>
    </body>
</html>
function Sprawdz()
{
  try
  {
    const liczba = parseInt(document.getElementById('liczba').value.trim());
    if (liczba || liczba == 0)
    {
      const liczba_jest = (liczba == 0) ? 'równa': (liczba < 0) ? 'ujemna' : 'dodatnia';
      document.getElementById('wynik').textContent = 'Liczba ' + liczba + ' jest ' + liczba_jest;
    }
    else
    {
      throw 'Wpisz wartość liczbową';
    }
  }
  catch(error)
  {
    document.getElementById('wynik').textContent = error;
  }
  finally 
  {
    document.getElementById('liczba').focus();
  }
}

 

Podobne pytania

0 głosów
2 odpowiedzi 1,475 wizyt
pytanie zadane 3 stycznia 2018 w JavaScript przez kevin Mądrala (5,010 p.)
0 głosów
1 odpowiedź 2,253 wizyt
pytanie zadane 27 maja 2016 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)
0 głosów
1 odpowiedź 293 wizyt
pytanie zadane 31 października 2015 w PHP przez makoso Mądrala (7,380 p.)

87,942 zapytań

136,520 odpowiedzi

304,383 komentarzy

58,306 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...