Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Tworzenie stron WWW Programowanie webowe JavaScript

Fragment kodu w języku JavaScript realizujący dodawanie dwóch liczb ma następującą postać:

Podaj pierwszą liczbę: <input type="text" name="liczba1">
Podaj drugą liczbę: <input type="text" name="liczba2">
…
<script>
function dodaj()
{
    // ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
Aby dodawanie wykonane było po kliknięciu przycisku o nazwie „dodaj”, należy w wykropkowane miejsce wstawić
A.
<button onclick="return oblicz()">dodaj</button>
Źle. W skrypcie nie ma funkcji oblicz(), więc kliknięcie zakończy się błędem.
B.
<button onselect="return dodaj()">oblicz</button>
Źle. onselect reaguje na zaznaczenie tekstu, nie na kliknięcie, a podpis to „oblicz”.
C.
<button onclick="return dodaj()">dodaj</button>
Dobrze. Zdarzenie onclick wywoła funkcję dodaj(), a przycisk ma podpis „dodaj”.
D.
<button onselect="return dodaj()">dodaj</button>
Źle. Podpis jest dobry, ale onselect nie reaguje na kliknięcie przycisku.

Pytanie z egzaminu CKE, wrzesień 2015 (arkusz E.14-X-15.08).

Po kliknięciu przycisku przeglądarka wywołuje zdarzenie onclick, więc to w tym atrybucie trzeba podać wywołanie funkcji: onclick="return dodaj()". Napis między znacznikami, dodaj, to podpis widoczny na przycisku - zgodnie z poleceniem przycisk ma się nazywać „dodaj”. Nazwa wywoływanej funkcji musi być dokładnie taka sama jak w definicji w skrypcie, łącznie z wielkością liter, bo JavaScript je rozróżnia. Słowo return przekazuje wynik funkcji do obsługi zdarzenia; gdyby funkcja zwróciła false, przeglądarka zablokowałaby domyślne działanie przycisku. W nowszym kodzie zamiast atrybutu stosuje się addEventListener('click', dodaj), ale onclick nadal działa i jest dopuszczany na egzaminie.

W każdej błędnej wersji coś się nie zgadza z poleceniem albo z kodem. Atrybut onselect obsługuje zdarzenie zaznaczenia tekstu w polu tekstowym - kliknięcie przycisku go nie wywoła, więc funkcja nie uruchomi się ani przy podpisie „oblicz”, ani przy podpisie „dodaj”. Wersja z onclick ma dobre zdarzenie i dobry podpis, ale wywołuje funkcję oblicz(), której w skrypcie nie ma; konsola przeglądarki pokaże błąd, że funkcja nie jest zdefiniowana. Do zadziałania potrzebne są trzy rzeczy naraz: zdarzenie onclick, nazwa funkcji zgodna z definicją, czyli dodaj(), oraz podpis „dodaj” między znacznikami przycisku. Spełnia je tylko zapis z onclick="return dodaj()". Zdarzenie onselect zostawia się dla pól tekstowych, gdy skrypt ma reagować na zaznaczenie fragmentu wpisanego tekstu, a do przycisków stosuje się onclick. Literówka w nazwie funkcji to jeden z najczęstszych błędów w skryptach egzaminacyjnych.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.