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

Sweetalert nie wyświetla komunikatu

Object Storage Arubacloud
0 głosów
69 wizyt
pytanie zadane 18 kwietnia w JavaScript przez Skulak Nowicjusz (240 p.)
edycja 18 kwietnia przez Skulak
Cześć,

wróciłem do tego kodu po jakimś czasie. Zapamiętałem, że działał, ale może czegoś nie zapisałem. Wydaje mi się, że wszystko jest ok, ale może widzicie więcej. Nie wyświetla się komunikat o wygranej i remisie w grze w kółko i krzyżyk, mimo, że trzy pola otrzymują taką samą klasę.. Od razu zaznaczam. Załączyłem skrypt SweetAlerta ;)
 

https://codepen.io/Skulak13/pen/XWQxyjy
komentarz 18 kwietnia przez Comandeer Guru (602,340 p.)
Są jakieś błędy w konsoli?

Fajnie byłoby zobaczyć całość online.
komentarz 18 kwietnia przez Skulak Nowicjusz (240 p.)
Wrzuciłem do codepena :

https://codepen.io/Skulak13/pen/XWQxyjy
komentarz 18 kwietnia przez Skulak Nowicjusz (240 p.)
A konsola wyświetla tylko script error.
komentarz 18 kwietnia przez VBService Ekspert (254,440 p.)
edycja 18 kwietnia przez VBService

BTW,

  • może zamiast <table> spróbuj użyć grid 3x3
  • IMO sprawdzanie czy wygrana, czy przegrana, lepiej zacząć sprawdzać po piątym ruch (kliknięciu) wcześniej nie ma sensu
  • IMO zamiast setTimeout() sprawdzaj po kliknięciu w pole z uwzględnieniem punktu powyżej, do wykrywania kliknięć na "siatce" użyj np.: Event Delegation

1 odpowiedź

0 głosów
odpowiedź 18 kwietnia przez Comandeer Guru (602,340 p.)
wybrane 21 kwietnia przez Skulak
 
Najlepsza

sweetalert2@11:5 Uncaught TypeError: Cannot call a class as a function

Taki błąd widać w konsoli. Próbujesz wywoływać alert jako funkcję, ale to jest tak naprawdę klasa. Najwyraźniej zmieniło się API i teraz trzeba używać swal.fire() zamiast swal().

Zmieniła się też konfiguracja, bo po naprawieniu niewyświetlania się cały czas pokazuje się inny błąd:

iframeConsoleRunner-6d8bf8b4b479137260842506acbb12717dace0823c023e08b96360e60b0840d9.js:1 SweetAlert2: Unexpected type of html! Expected "string" or "Element", got object

Ogólnie musiałbyś pozmieniać te wywołania, np

swal('It\'s a draw!', {
    buttons: {
        confirm: {
            text: "OK",
            value: true,
            visible: true,
            className: "swal-button",
        },
    },
}).then((value) => {
    if (value) {
        resetGame();
    }
});

na:

swal.fire( {
    text: 'It\'s a draw!',
    customClass: {
        confirmButton: 'swal-button',
    }
}).then((value) => {
    if (value) {
        resetGame();
    }
});

Więcej info masz w docsach.

komentarz 21 kwietnia przez Skulak Nowicjusz (240 p.)

Dzięki za pomocsmiley

Podobne pytania

0 głosów
1 odpowiedź 239 wizyt
pytanie zadane 30 lipca 2019 w C# przez Bezy Bywalec (2,280 p.)
–1 głos
1 odpowiedź 119 wizyt
pytanie zadane 15 marca 2016 w JavaScript przez McShadow Obywatel (1,050 p.)
0 głosów
1 odpowiedź 458 wizyt

92,626 zapytań

141,484 odpowiedzi

319,839 komentarzy

62,006 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...