KWALIFIKACJA INF3 - CZERWIEC 2021

PYTANIE NR 28.
W języku HTML zapisano formularz. Który z efektów działania kodu będzie wyświetlony przez przeglądarkę zakładając, że w drugie pole użytkownik wpisał wartość "ala ma kota"?
Ilustracja przedstawia fragment kodu HTML oraz cztery efekty jego działania w przeglądarce.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Efekt działania formularza wynika z atrybutów kontrolek widocznych w kodzie (np. name, value, placeholder, disabled) oraz sposobu wysyłania danych (GET/POST). Przy wpisie "ala ma kota" przeglądarka przetwarza tę wartość zgodnie z tymi regułami (w tym ewentualnym kodowaniem spacji), czemu odpowiada Efekt 2.

Pełne wyjaśnienie:

W formularzach HTML o tym, co "zobaczy" użytkownik i co zostanie przetworzone przy wysyłaniu, decydują przede wszystkim atrybuty elementów formularza oraz sposób submit.

  • Widok w polu: użytkownik wpisuje tekst do kontrolki (np. input lub textarea). Tekst jest widoczny w polu niezależnie od tego, czy będzie wysłany.
  • Co jest wysyłane: do danych formularza trafiają zwykle pary name=value. Jeśli pole nie ma atrybutu name, jego wartość nie tworzy parametru. Jeśli pole jest disabled, przeglądarka nie uwzględnia go w danych wysyłanych.
  • Rola value i placeholder: placeholder to tylko podpowiedź, nie jest "wartością". value to wartość domyślna (startowa) pola, która może zostać zastąpiona wpisem użytkownika.
  • GET vs POST: przy GET dane trafiają do adresu URL jako query string, a znaki takie jak spacje są kodowane zgodnie z zasadami kodowania formularzy (np. w formacie application/x-www-form-urlencoded). Przy POST dane są w treści żądania, a nie w samym adresie.

Dlatego poprawny "efekt" to ten, który jest zgodny z tym, jak przeglądarka:

  • zbuduje zestaw parametrów na podstawie pól (czy pole ma name, czy nie jest disabled),
  • przyjmie tekst wpisany w drugie pole ("ala ma kota") jako wartość kontrolki,
  • zastosuje właściwy sposób prezentacji/enkodowania danych zależnie od metody wysyłki.

Efekt 2 jest zgodny z powyższymi regułami wynikającymi z kodu. Pozostałe efekty odpowiadają typowym błędom: traktowaniu placeholder jako danych, pomijaniu braku name, nieuwzględnianiu disabled albo oczekiwaniu, że dane z GET nie będą kodowane.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Kluczowe są atrybuty kontrolki. W danych formularza zwykle pojawiają się pary name=value, więc brak name oznacza brak parametru. Pole z atrybutem disabled nie jest uwzględniane przy wysyłce. Istotne są też typ pola oraz to, czy użytkownik coś wpisał.
placeholder to tylko podpowiedź widoczna, gdy pole jest puste. Nie jest traktowany jako wartość pola i nie jest wysyłany jako dane formularza. Wysyłana jest wartość faktycznie wpisana przez użytkownika lub ustawiona w value, o ile pole spełnia warunki wysyłki (np. ma name i nie jest disabled).
value ustawia rzeczywistą wartość pola (domyślną), którą można wysłać w formularzu. placeholder to tylko tekst pomocniczy, który znika po wpisaniu danych i nie staje się parametrem wysyłanym do serwera. Na egzaminie często myli się te pojęcia, więc warto je rozróżniać.
Pole disabled zwykle jest widoczne, ale nieaktywne (nie da się w nim pisać/zmieniać). Najważniejsze: przeglądarka nie dołącza takiego pola do danych formularza podczas wysyłania. To częsty "haczyk" w zadaniach: coś widać na ekranie, ale nie pojawia się w parametrach.
name jest nazwą parametru wysyłanego do serwera. Jeśli użytkownik wpisze tekst, to bez name przeglądarka nie ma jak nazwać tej wartości w zestawie danych, więc zazwyczaj jej nie wyśle. Na zadaniach egzaminacyjnych sprawdza się umiejętność powiązania: name → klucz, wpis użytkownika → wartość.
Przy GET dane formularza są dołączane do adresu URL jako query string. Znaki specjalne i spacje są kodowane zgodnie z zasadami kodowania formularzy (często w formacie application/x-www-form-urlencoded), więc w adresie mogą pojawić się znaki kodowania zamiast "czystych" spacji. Dokładny zapis zależy od przeglądarki i kontekstu, ale zasada kodowania jest stała.
To efekt kodowania danych w adresie URL. Przeglądarka musi zamienić znaki, które nie mogą występować w URL wprost (albo mogłyby zmieniać jego znaczenie). Spacje i polskie znaki bywają kodowane, aby żądanie było poprawne technicznie. Na egzaminie warto pamiętać: "to, co wpisane", nie zawsze wygląda identycznie w URL.
Najczęściej wtedy, gdy formularz używa metody POST (dane są w treści żądania, nie w URL) albo gdy pola nie są uwzględniane w wysyłce (np. disabled, brak name). Może też nie być widocznej zmiany adresu, jeśli wysyłka jest obsługiwana skryptem (np. AJAX), ale to zależy od kodu.
Najpewniej użyć narzędzi deweloperskich przeglądarki: zakładki Network (Sieć). Po wysłaniu formularza można zobaczyć żądanie (GET/POST), listę parametrów, a także zakodowaną postać danych. To praktyczna umiejętność: pozwala szybko wykryć brak name, obecność disabled lub różnice między GET i POST.
Najczęstsze pomyłki to: traktowanie placeholder jako wysyłanych danych, ignorowanie braku atrybutu name, nieuwzględnianie, że disabled wyklucza pole z wysyłki, oraz zakładanie, że wpis w polu zawsze pojawi się w URL. Pomaga systematyczna checklista: method, name, disabled/readonly, typ pola.
info

Statystycznie 26% uczniów zna prawidłową odpowiedź. bardzo trudne

Eksperci podkreślają: "Efekt działania formularza wynika z atrybutów kontrolek widocznych w kodzie (np. name, value, placeholder, disabled) oraz sposobu wysyłania danych (GET/POST)."

Źródła:

  • WHATWG HTML Living Standard (HTML): Form submission (algorytm submit) i form controls (sekcje dotyczące formularzy) – https://html.spec.whatwg.org/multipage/form-control-infrastructure.html (dostęp 2026-02-18)
  • MDN Web Docs: <form> – https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form (dostęp 2026-02-18)
  • MDN Web Docs: <input> – https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input (dostęp 2026-02-18)

Materiały:

  • Dokumentacja HTML (sekcja formularzy i algorytm submit)
  • MDN Web Docs: artykuły o form, input, textarea, button
  • Ćwiczenia praktyczne: tworzenie formularza i podgląd żądań w DevTools (Network)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego