Ćwiczenia JavaScript

Zmienne i ich typy

Utwórz zmienne różnych typów (string, number, boolean, object, array). Wyświetl je w dokumencie.


let imie = "Jan";
let wiek = 17;
let czyPelnoletni = false;
let adres = { miasto: "Warszawa", kod: "00-001" };
let oceny = [5, 4, 3];

// Wyświetlenie jako tekst:
document.querySelector('#wynik-glowny').textContent = 
  imie + ", " + wiek + ", " + czyPelnoletni + ", " + JSON.stringify(adres) + ", " + oceny;

// Wyświetlenie jako lista HTML:
let wynikHTML = `
  <ul>
    <li><strong>Imię:</strong> ${imie}</li>
    <li><strong>Wiek:</strong> ${wiek}</li>
    <li><strong>Pełnoletni:</strong> ${czyPelnoletni ? "Tak" : "Nie"}</li>
    <li><strong>Adres:</strong> ${adres.miasto} (${adres.kod})</li>
    <li><strong>Oceny:</strong> ${oceny.join(", ")}</li>
  </ul>
`;
document.querySelector('#wynik-glowny').innerHTML = wynikHTML;
    

Zadanie 1

Utwórz zmienną przechowującą Twoje imię i wyświetl ją w dokumencie.

let imie = "Jan"; document.querySelector('#zad1').textContent = imie;

  

Zadanie 2

Utwórz zmienne: wiek (number), miasto (string), aktywny (boolean).

let wiek = 18; let miasto = "Kraków"; let aktywny = true; document.querySelector('#zad2').textContent = wiek + ", " + miasto + ", " + aktywny;

  

Zadanie 3

Utwórz tablicę z trzema ulubionymi kolorami i wypisz ją w dokumencie.

let kolory = ["czerwony", "zielony", "niebieski"]; document.querySelector('#zad3').textContent = kolory.join(", ");

  

Zadanie 4

Utwórz obiekt opisujący samochód (marka, model, rok).

let samochod = { marka: "Toyota", model: "Corolla", rok: 2010 }; document.querySelector('#zad4').textContent = JSON.stringify(samochod);

  

Zadanie 5

Wypisz typ każdej zmiennej z poprzednich zadań za pomocą typeof.

document.querySelector('#zad5').textContent = typeof imie + ", " + typeof wiek + ", " + typeof aktywny + ", " + typeof kolory + ", " + typeof samochod;

  

⚙️ Operatory

Użyj operatorów arytmetycznych i logicznych, aby wykonać obliczenia i sprawdzić warunki.


let a = 5;
let b = 10;
document.querySelector('#op-intro').textContent += (a + b) + "\n";
document.querySelector('#op-intro').textContent += (a > b && b > 0);
    

  

Zadanie 1

Oblicz sumę, różnicę, iloczyn i iloraz dwóch liczb.


let a = 10, b = 2;
document.querySelector('#op-zad1').textContent = 
  (a + b) + ", " + 
  (a - b) + ", " + 
  (a * b) + ", " + 
  (a / b);
    

  

Zadanie 2

Sprawdź, czy liczba jest większa niż 5 i mniejsza niż 15.


let liczba = 8;
document.querySelector('#op-zad2').textContent = liczba > 5 && liczba < 15;
    

  

Zadanie 3

Sprawdź, czy dwie zmienne są sobie równe (== i ===).


let x = "5";
let y = 5;
document.querySelector('#op-zad3').textContent = 
  (x == y) + "\n" + 
  (x === y);
    

  

Zadanie 4

Zwiększ wartość zmiennej o 1 za pomocą operatora inkrementacji.


let licznik = 0;
licznik++;
document.querySelector('#op-zad4').textContent = licznik;
    

  

Zadanie 5

Użyj operatora trójargumentowego (ternary), aby wyświetlić "pełnoletni" lub "niepełnoletni".


let wiek = 17;
let status = (wiek >= 18) ? "pełnoletni" : "niepełnoletni";
document.querySelector('#op-zad5').textContent = status;
    

  

🧠 Instrukcja warunkowa (if/else)

Sprawdź wiek użytkownika i wyświetl odpowiedni komunikat.


let wiek = 18;
if (wiek >= 18) {
  document.querySelector('#if-intro').textContent = "Jesteś pełnoletni.";
} else {
  document.querySelector('#if-intro').textContent = "Nie jesteś pełnoletni.";
}
    

  

Zadanie 1

Sprawdź, czy liczba jest dodatnia. Jeśli tak, wyświetl komunikat.


let liczba = 10;
if (liczba > 0) {
  document.querySelector('#if-zad1').textContent = "Liczba jest dodatnia";
}
    

  

Zadanie 2

Sprawdź, czy użytkownik ma co najmniej 18 lat i może obejrzeć film.


let wiek = 16;
if (wiek >= 18) {
  document.querySelector('#if-zad2').textContent = "Możesz obejrzeć film";
} else {
  document.querySelector('#if-zad2').textContent = "Film tylko dla pełnoletnich";
}
    

  

Zadanie 3

Sprawdź, czy liczba jest parzysta.


let liczba = 12;
if (liczba % 2 === 0) {
  document.querySelector('#if-zad3').textContent = "Liczba jest parzysta";
} else {
  document.querySelector('#if-zad3').textContent = "Liczba jest nieparzysta";
}
    

  

Zadanie 4

Porównaj dwie liczby i wypisz, która jest większa.


let a = 7;
let b = 12;
if (a > b) {
  document.querySelector('#if-zad4').textContent = "a jest większe";
} else if (b > a) {
  document.querySelector('#if-zad4').textContent = "b jest większe";
} else {
  document.querySelector('#if-zad4').textContent = "Liczby są równe";
}
    

  

Zadanie 5

Na podstawie zmiennej boolean (np. isLoggedIn) wyświetl odpowiedni komunikat.


let isLoggedIn = false;
if (isLoggedIn) {
  document.querySelector('#if-zad5').textContent = "Witaj użytkowniku";
} else {
  document.querySelector('#if-zad5').textContent = "Zaloguj się";
}
    

  

Instrukcja Switch

Wyświetl dzień tygodnia na podstawie liczby od 1 do 7.

let dzien = 3;
switch (dzien) {
  case 1: document.getElementById("wynik1").innerText = "Poniedziałek"; break;
  case 2: document.getElementById("wynik1").innerText = "Wtorek"; break;
  case 3: document.getElementById("wynik1").innerText = "Środa"; break;
  default: document.getElementById("wynik1").innerText = "Inny dzień";
}

Zadanie 1

Wyświetl nazwę dnia tygodnia na podstawie zmiennej z numerem dnia (1–7).

let dzien = 3;
switch(dzien) {
  case 1: document.getElementById("wynik1").innerText = "Poniedziałek"; break;
  case 2: document.getElementById("wynik1").innerText = "Wtorek"; break;
  case 3: document.getElementById("wynik1").innerText = "Środa"; break;
  case 4: document.getElementById("wynik1").innerText = "Czwartek"; break;
  case 5: document.getElementById("wynik1").innerText = "Piątek"; break;
  case 6: document.getElementById("wynik1").innerText = "Sobota"; break;
  case 7: document.getElementById("wynik1").innerText = "Niedziela"; break;
  default: document.getElementById("wynik1").innerText = "Nieprawidłowy numer dnia";
}

Zadanie 2

Na podstawie zmiennej 'ocena' wypisz ocenę słownie (np. 5 → "bardzo dobry").

let ocena = 5;
switch(ocena) {
  case 6: document.getElementById("wynik2").innerText = "celujący"; break;
  case 5: document.getElementById("wynik2").innerText = "bardzo dobry"; break;
  case 4: document.getElementById("wynik2").innerText = "dobry"; break;
  case 3: document.getElementById("wynik2").innerText = "dostateczny"; break;
  case 2: document.getElementById("wynik2").innerText = "dopuszczający"; break;
  case 1: document.getElementById("wynik2").innerText = "niedostateczny"; break;
  default: document.getElementById("wynik2").innerText = "Nieprawidłowa ocena";
}

Zadanie 3

Na podstawie wybranej opcji menu wypisz odpowiednią akcję.

let opcja = "zapisz";
switch(opcja) {
  case "nowy": document.getElementById("wynik3").innerText = "Tworzenie nowego dokumentu"; break;
  case "otwórz": document.getElementById("wynik3").innerText = "Otwieranie dokumentu"; break;
  case "zapisz": document.getElementById("wynik3").innerText = "Zapisywanie dokumentu"; break;
  case "wyjście": document.getElementById("wynik3").innerText = "Zamykanie programu"; break;
  default: document.getElementById("wynik3").innerText = "Nieznana opcja";
}

Zadanie 4

W zależności od pory dnia (rano, popołudnie, wieczór) wypisz odpowiedni komunikat.

let pora = "wieczór";
switch(pora) {
  case "rano": document.getElementById("wynik4").innerText = "Dzień dobry!"; break;
  case "popołudnie": document.getElementById("wynik4").innerText = "Miłego popołudnia!"; break;
  case "wieczór": document.getElementById("wynik4").innerText = "Dobry wieczór!"; break;
  default: document.getElementById("wynik4").innerText = "Nie rozpoznano pory dnia";
}

Zadanie 5

Na podstawie litery oceny (A, B, C, D, F) wypisz ocenę opisową.

let litera = "B";
switch(litera) {
  case "A": document.getElementById("wynik5").innerText = "Świetnie"; break;
  case "B": document.getElementById("wynik5").innerText = "Bardzo dobrze"; break;
  case "C": document.getElementById("wynik5").innerText = "Dobrze"; break;
  case "D": document.getElementById("wynik5").innerText = "Dostatecznie"; break;
  case "F": document.getElementById("wynik5").innerText = "Niedostatecznie"; break;
  default: document.getElementById("wynik5").innerText = "Nieprawidłowa litera";
}

🔁 Pętla for

Zadanie 1

Wyświetl liczby od 1 do 10 na stronie.


for (let i = 1; i <= 10; i++) {
  document.querySelector('#for-zad1').textContent += i + "\n";
}
    

  

Zadanie 2

Policz sumę liczb od 1 do 100 i wyświetl wynik na stronie.


let suma = 0;
for (let i = 1; i <= 100; i++) {
  suma += i;
}
document.querySelector('#for-zad2').textContent = "Suma: " + suma;
    

  

Zadanie 3

Wypisz liczby parzyste od 1 do 20 na stronie.


for (let i = 1; i <= 20; i++) {
  if (i % 2 === 0) {
    document.querySelector('#for-zad3').textContent += i + "\n";
  }
}
    

  

Zadanie 4

Wyświetl tabliczkę mnożenia dla liczby 5 na stronie.


let liczba = 5;
for (let i = 1; i <= 10; i++) {
  document.querySelector('#for-zad4').textContent += liczba + " x " + i + " = " + (liczba * i) + "\n";
}
    

  

Zadanie 5

Wypisz znaki napisu "JavaScript" jeden pod drugim na stronie.


let tekst = "JavaScript";
for (let i = 0; i < tekst.length; i++) {
  document.querySelector('#for-zad5').textContent += tekst[i] + "\n";
}
    

  

🔁 Pętla while

Zadanie 1

Wyświetl liczby od 1 do 10 na stronie.


let i = 1;
while (i <= 10) {
  document.querySelector('#while-zad1').textContent += i + "\n";
  i++;
}
    

  

Zadanie 2

Policz sumę liczb od 1 do 100 i wyświetl wynik na stronie.


let suma = 0;
let i = 1;
while (i <= 100) {
  suma += i;
  i++;
}
document.querySelector('#while-zad2').textContent = "Suma: " + suma;
    

  

Zadanie 3

Wypisz liczby nieparzyste od 1 do 20 na stronie.


let i = 1;
while (i <= 20) {
  if (i % 2 !== 0) {
    document.querySelector('#while-zad3').textContent += i + "\n";
  }
  i++;
}
    

  

Zadanie 4

Zlicz ilość cyfr w liczbie 123456789 i wyświetl na stronie.


let liczba = 123456789;
let ilosc = 0;
while (liczba > 0) {
  liczba = Math.floor(liczba / 10);
  ilosc++;
}
document.querySelector('#while-zad4').textContent = "Liczba cyfr: " + ilosc;
    

  

Zadanie 5

Wyświetl wszystkie znaki napisu "Informatyka" jeden pod drugim na stronie.


let tekst = "Informatyka";
let i = 0;
while (i < tekst.length) {
  document.querySelector('#while-zad5').textContent += tekst[i] + "\n";
  i++;
}
    

  

🔁 Pętla do...while

Zadanie 1

Wyświetl liczby od 1 do 10 na stronie.


let i = 1;
do {
  document.querySelector('#do-while-zad1').textContent += i + "\n";
  i++;
} while (i <= 10);
    

  

Zadanie 2

Policz sumę liczb od 1 do 100 i pokaż wynik na stronie.


let suma = 0;
let i = 1;
do {
  suma += i;
  i++;
} while (i <= 100);
document.querySelector('#do-while-zad2').textContent = "Suma: " + suma;
    

  

Zadanie 3

Wyświetl liczby podzielne przez 3 od 1 do 30 na stronie.


let i = 1;
do {
  if (i % 3 === 0) {
    document.querySelector('#do-while-zad3').textContent += i + "\n";
  }
  i++;
} while (i <= 30);
    

  

Zadanie 4

Wyświetl znaki napisu "Technik" jeden pod drugim na stronie.


let tekst = "Technik";
let i = 0;
do {
  document.querySelector('#do-while-zad4').textContent += tekst[i] + "\n";
  i++;
} while (i < tekst.length);
    

  

Zadanie 5

Znajdź pierwszą liczbę większą od 100, która jest podzielna przez 17 i wyświetl ją.


let liczba = 101;
do {
  if (liczba % 17 === 0) {
    document.querySelector('#do-while-zad5').textContent = "Znaleziono: " + liczba;
    break;
  }
  liczba++;
} while (true);
    

  

🔧 Funkcje

Zadanie 1

Stwórz funkcję, która przyjmuje dwie liczby i zwraca ich sumę.


function suma(a, b) {
  return a + b;
}
  

Wynik:

Zadanie 2

Stwórz funkcję, która przyjmuje imię użytkownika i wyświetla powitanie.


function powitanie(imie) {
  return "Witaj, " + imie + "!";
}
  

Wynik:

Zadanie 3

Stwórz funkcję, która zwraca największą z dwóch liczb.


function najwieksza(a, b) {
  return a > b ? a : b;
}
  

Wynik:

Zadanie 4

Stwórz funkcję, która przyjmuje tablicę liczb i zwraca ich średnią.


function srednia(tablica) {
  let suma = 0;
  for (let i = 0; i < tablica.length; i++) {
    suma += tablica[i];
  }
  return suma / tablica.length;
}
  

Wynik:

Zadanie 5

Stwórz funkcję, która sprawdza, czy liczba jest liczbą pierwszą.


function czyPierwsza(liczba) {
  if (liczba < 2) return false;
  for (let i = 2; i <= Math.sqrt(liczba); i++) {
    if (liczba % i === 0) {
      return false;
    }
  }
  return true;
}
  

Wynik:

🧳 Obiekty

Zadanie 1

Stwórz obiekt reprezentujący samochód z właściwościami: marka, model, rok produkcji, oraz metodą, która wyświetla pełne informacje o samochodzie.


const samochod = {
  marka: "Toyota",
  model: "Corolla",
  rok: 2015,
  informacje: function() {
    return this.marka + " " + this.model + ", " + this.rok;
  }
};
  

Wynik:

Zadanie 2

Stwórz obiekt "osoba", który zawiera imię, wiek oraz metodę, która zwraca wiek osoby za 5 lat.


const osoba = {
  imie: "Jan",
  wiek: 25,
  wiekZa5Lat: function() {
    return this.wiek + 5;
  }
};
  

Wynik:

Zadanie 3

Stwórz obiekt "kontoBankowe" z właściwościami saldo i właściciel, oraz metodą do wpłacania i wypłacania pieniędzy.


const kontoBankowe = {
  saldo: 1000,
  wlasciciel: "Anna",
  wplac: function(kwota) {
    this.saldo += kwota;
    return this.saldo;
  },
  wyplac: function(kwota) {
    if (this.saldo >= kwota) {
      this.saldo -= kwota;
      return this.saldo;
    } else {
      return "Niewystarczające środki!";
    }
  }
};
  

Wynik:

Zadanie 4

Stwórz obiekt "film" z właściwościami tytuł, reżyser, rok oraz metodą, która zwraca pełny tytuł filmu.


const film = {
  tytul: "Inception",
  rezyser: "Christopher Nolan",
  rok: 2010,
  pelnyTytul: function() {
    return this.tytul + " (" + this.rok + ")";
  }
};
  

Wynik:

Zadanie 5

Stwórz obiekt "pracownik" z właściwościami: imię, stanowisko, wynagrodzenie oraz metodą, która podwyższa wynagrodzenie o określoną kwotę.


const pracownik = {
  imie: "Marek",
  stanowisko: "Programista",
  wynagrodzenie: 5000,
  podwyzka: function(kwota) {
    this.wynagrodzenie += kwota;
    return this.wynagrodzenie;
  }
};
  

Wynik:

⚡ Zdarzenia

Zadanie 1

Dodaj do przycisku zdarzenie kliknięcia, które wyświetli alert z tekstem "Przycisk kliknięty".


document.getElementById("przycisk1").addEventListener("click", function() {
  alert("Przycisk kliknięty");
});
  

Zadanie 2

Stwórz pole tekstowe, które po wprowadzeniu tekstu wyświetli komunikat "Wpisano tekst".


document.getElementById("input1").addEventListener("input", function() {
  // zamiast console.log wyświetl w divie
  document.getElementById("outputInput1").textContent = "Wpisano tekst";
});
  

Zadanie 3

Dodaj do formularza zdarzenie submit, które zapobiega domyślnemu wysłaniu formularza i wyświetla dane z formularza na stronie.


document.getElementById("form1").addEventListener("submit", function(event) {
  event.preventDefault();
  document.getElementById("outputForm1").textContent = "Dane formularza: " + JSON.stringify({
    imie: document.getElementById("imie").value,
    email: document.getElementById("email").value
  }, null, 2);
});
  


  

Zadanie 4

Stwórz przycisk, który po kliknięciu zmienia kolor tła na zielony.


document.getElementById("przycisk2").addEventListener("click", function() {
  document.body.style.backgroundColor = "green";
});
  

Zadanie 5

Stwórz pole tekstowe, które po utracie fokusu wyświetli komunikat "Fokus utracony".


document.getElementById("input2").addEventListener("blur", function() {
  document.getElementById("outputInput2").textContent = "Fokus utracony";
});
  

📑 Formularze

Zadanie 1

Stwórz formularz z polami: imię, nazwisko oraz email. Po kliknięciu przycisku "Wyślij" wyświetl na stronie wprowadzone dane.


document.getElementById("form11").addEventListener("submit", function(event) {
  event.preventDefault();
  document.getElementById("outputForm11").textContent = JSON.stringify({
    imie: document.getElementById("imie11").value,
    nazwisko: document.getElementById("nazwisko11").value,
    email: document.getElementById("email11").value
  }, null, 2);
});
  


  

Zadanie 2

Stwórz formularz logowania, w którym użytkownik podaje nazwę użytkownika i hasło. Po kliknięciu "Zaloguj" wyświetl komunikat na stronie.


document.getElementById("loginForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let username = document.getElementById("username").value;
  let password = document.getElementById("password").value;
  let outputLogin = document.getElementById("outputLogin");

  if (username === "admin" && password === "1234") {
    outputLogin.textContent = "Zalogowano pomyślnie!";
  } else {
    outputLogin.textContent = "Niepoprawna nazwa użytkownika lub hasło.";
  }
});
  

Zadanie 3

Dodaj do formularza przycisk resetowania, który będzie czyścił wszystkie wprowadzone dane.


document.getElementById("resetBtn").addEventListener("click", function() {
  document.getElementById("form2").reset();
});
  

Zadanie 4

Stwórz formularz z polem tekstowym i przyciskiem. Po kliknięciu przycisku wyświetl wprowadzony tekst w divie poniżej formularza.


document.getElementById("form3").addEventListener("submit", function(event) {
  event.preventDefault();
  let text = document.getElementById("tekst").value;
  document.getElementById("outputForm3").textContent = "Wprowadzony tekst: " + text;
});
  

Zadanie 5

Stwórz formularz do rejestracji, który wymaga, by użytkownik zaakceptował regulamin przed wysłaniem formularza. Jeśli użytkownik nie zaznaczy zgody, wyświetl komunikat błędu.


document.getElementById("registerForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let outputRegister = document.getElementById("outputRegister");
  if (!document.getElementById("regulamin").checked) {
    outputRegister.textContent = "Musisz zaakceptować regulamin.";
  } else {
    outputRegister.textContent = "Formularz wysłany!";
  }
});
  

📑 Zastosowanie formularzy w JavaScript

Zadanie 1

Stwórz formularz do obliczania wieku użytkownika na podstawie daty urodzenia. Po kliknięciu przycisku oblicz wyświetl wiek użytkownika.


document.getElementById("ageForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let birthDate = new Date(document.getElementById("birthDate").value);
  let age = new Date().getFullYear() - birthDate.getFullYear();
  alert("Twój wiek to: " + age + " lat");
});
  

Zadanie 2

Stwórz formularz do konwersji jednostek. Użytkownik podaje wartość w metrach, a formularz konwertuje ją na centymetry, kilometry i milimetry.


document.getElementById("unitForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let meters = parseFloat(document.getElementById("meters").value);
  document.getElementById("cm").textContent = meters * 100 + " cm";
  document.getElementById("km").textContent = meters / 1000 + " km";
  document.getElementById("mm").textContent = meters * 1000 + " mm";
});
  

Zadanie 3

Stwórz formularz do obliczania powierzchni prostokąta. Użytkownik podaje długość i szerokość, a po kliknięciu przycisku formularz wyświetla wynik.


document.getElementById("rectangleForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let length = parseFloat(document.getElementById("length").value);
  let width = parseFloat(document.getElementById("width").value);
  let area = length * width;
  alert("Powierzchnia prostokąta: " + area + " m²");
});
  

Zadanie 4

Stwórz formularz, który po kliknięciu przycisku zmienia tło strony na kolor wprowadzony przez użytkownika w formularzu.


document.getElementById("colorForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let color = document.getElementById("colorInput").value;
  document.body.style.backgroundColor = color;
});
  

Zadanie 5

Stwórz formularz do obliczania średniej arytmetycznej z trzech liczb. Użytkownik podaje trzy liczby, a formularz wyświetla wynik.


document.getElementById("averageForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let num1 = parseFloat(document.getElementById("num1").value);
  let num2 = parseFloat(document.getElementById("num2").value);
  let num3 = parseFloat(document.getElementById("num3").value);
  let average = (num1 + num2 + num3) / 3;
  alert("Średnia arytmetyczna: " + average);
});
  

📑 Zastosowanie formularzy w JavaScript

Zadanie 1

Stwórz formularz, który oblicza pole powierzchni koła na podstawie promienia podanego przez użytkownika.


document.getElementById("circleForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let radius = parseFloat(document.getElementById("radius").value);
  let area = Math.PI * Math.pow(radius, 2);
  alert("Pole powierzchni koła: " + area.toFixed(2) + " cm²");
});
  

Zadanie 2

Stwórz formularz, który pozwala użytkownikowi dodać dwie liczby i wyświetlić ich sumę.


document.getElementById("sumForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let num1 = parseFloat(document.getElementById("num1").value);
  let num2 = parseFloat(document.getElementById("num2").value);
  let sum = num1 + num2;
  alert("Suma: " + sum);
});
  

Zadanie 3

Stwórz formularz do obliczania ceny po rabacie. Użytkownik podaje cenę oraz wartość rabatu, a formularz oblicza nową cenę po rabacie.


document.getElementById("discountForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let price = parseFloat(document.getElementById("price").value);
  let discount = parseFloat(document.getElementById("discount").value);
  let newPrice = price - (price * (discount / 100));
  alert("Cena po rabacie: " + newPrice.toFixed(2) + " zł");
});
  

Zadanie 4

Stwórz formularz, który oblicza średnią arytmetyczną z trzech liczb podanych przez użytkownika.


document.getElementById("averageForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let num1 = parseFloat(document.getElementById("num1").value);
  let num2 = parseFloat(document.getElementById("num2").value);
  let num3 = parseFloat(document.getElementById("num3").value);
  let average = (num1 + num2 + num3) / 3;
  alert("Średnia arytmetyczna: " + average.toFixed(2));
});
  

Zadanie 5

Stwórz formularz, który na podstawie wprowadzonego tekstu wyświetla liczbę słów w tym tekście.


document.getElementById("wordCountForm").addEventListener("submit", function(event) {
  event.preventDefault();
  let text = document.getElementById("textInput").value;
  let wordCount = text.split(/\s+/).filter(function(word) {
    return word.length > 0;
  }).length;
  alert("Liczba słów: " + wordCount);
});
  

Zadania z formularzami w JavaScript

Zadanie 1: Pole powierzchni koła

Zadanie 2: Suma dwóch liczb

Zadanie 3: Cena po rabacie

Zadanie 4: Średnia arytmetyczna

Zadanie 5: Liczba słów w tekście


    // Zadanie 1 - Pole powierzchni koła
    document.getElementById("circleForm").addEventListener("submit", function(event) {
        event.preventDefault();
        let radius = parseFloat(document.getElementById("radius").value);
        let resultElement = document.getElementById("circleResult");

        if (isNaN(radius) || radius <= 0) {
            resultElement.innerHTML = "Proszę podać poprawny promień.";
            resultElement.style.display = "block";
        } else {
            let area = Math.PI * Math.pow(radius, 2);
            resultElement.innerHTML = "Pole powierzchni koła: " + area.toFixed(2) + " cm²";
            resultElement.style.display = "block";
        }
    });

    // Zadanie 2 - Suma dwóch liczb
    document.getElementById("sumForm").addEventListener("submit", function(event) {
        event.preventDefault();
        let num1 = parseFloat(document.getElementById("num1").value);
        let num2 = parseFloat(document.getElementById("num2").value);
        let resultElement = document.getElementById("sumResult");

        if (isNaN(num1) || isNaN(num2)) {
            resultElement.innerHTML = "Proszę podać poprawne liczby.";
            resultElement.style.display = "block";
        } else {
            let sum = num1 + num2;
            resultElement.innerHTML = "Suma: " + sum;
            resultElement.style.display = "block";
        }
    });

    // Zadanie 3 - Cena po rabacie
    document.getElementById("discountForm").addEventListener("submit", function(event) {
        event.preventDefault();
        let price = parseFloat(document.getElementById("price").value);
        let discount = parseFloat(document.getElementById("discount").value);
        let resultElement = document.getElementById("discountResult");

        if (isNaN(price) || isNaN(discount)) {
            resultElement.innerHTML = "Proszę podać poprawne wartości.";
            resultElement.style.display = "block";
        } else {
            let newPrice = price - (price * (discount / 100));
            resultElement.innerHTML = "Cena po rabacie: " + newPrice.toFixed(2) + " zł";
            resultElement.style.display = "block";
        }
    });

    // Zadanie 4 - Średnia arytmetyczna
    document.getElementById("averageForm").addEventListener("submit", function(event) {
        event.preventDefault();
        let num1 = parseFloat(document.getElementById("num1Avg").value);
        let num2 = parseFloat(document.getElementById("num2Avg").value);
        let num3 = parseFloat(document.getElementById("num3Avg").value);
        let resultElement = document.getElementById("averageResult");

        if (isNaN(num1) || isNaN(num2) || isNaN(num3)) {
            resultElement.innerHTML = "Proszę podać poprawne liczby.";
            resultElement.style.display = "block";
        } else {
            let average = (num1 + num2 + num3) / 3;
            resultElement.innerHTML = "Średnia arytmetyczna: " + average.toFixed(2);
            resultElement.style.display = "block";
        }
    });

    // Zadanie 5 - Liczba słów w tekście
    document.getElementById("wordCountForm").addEventListener("submit", function(event) {
        event.preventDefault();
        let text = document.getElementById("textInput").value.trim();
        let resultElement = document.getElementById("wordCountResult");

        if (text === "") {
            resultElement.innerHTML = "Proszę wpisać tekst.";
            resultElement.style.display = "block";
        } else {
            let wordCount = text.split(/\s+/).length;
            resultElement.innerHTML = "Liczba słów: " + wordCount;
            resultElement.style.display = "block";
        }
    });