JQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...

Podobne dokumenty
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Podstawy JavaScript ćwiczenia

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Bazy Danych i Usługi Sieciowe

PHP: bloki kodu, tablice, obiekty i formularze

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

PHP: bazy danych, SQL, AJAX i JSON

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

Wykład 03 JavaScript. Michał Drabik

Funkcje i instrukcje języka JavaScript

SMS Kod Automatyczny

Spis treści. Wstęp 5 Rozdział 1. Praca z AJAX-em 9. Rozdział 2. Współpraca ze skryptami PHP 55. Rozdział 3. Obsługa formularzy 81

Rys.2.1. Drzewo modelu DOM [1]

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Krótki kurs JavaScript

Zdarzenia Zdarzenia onload i onunload

Zajęcia 4 - Wprowadzenie do Javascript

KUP KSIĄŻKĘ NA: PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA

Podstawy technologii WWW

WYKŁAD 5 BIBLIOTEKA JQUERY CZĘŚĆ 1

CZYM JEST JAVASCRIPT?

Aplikacje WWW - laboratorium

Zaawansowane aplikacje internetowe

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Umieszczanie kodu. kod skryptu

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Podstawy technologii WWW

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

DOM (Document Object Model)

Laboratorium 1 Wprowadzenie do PHP

Wykład 5: PHP: praca z bazą danych MySQL

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

Zajęcia 10 obsługa formularzy w PHP

Tworzenie Stron Internetowych. odcinek 10

Programowanie w Sieci Internet jquery - nowy aromat kawy angular.js. Kraków, 24 października 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Baza danych do przechowywania użytkowników

AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

W tej części dowiemy się, jak rozszerzyć WordPress za pomocą JSON-API. Oto kilka rzeczy, które będziemy robić z wtyczką JSON-API:

TECHNOLOGIE SIECI WEB

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

XML extensible Markup Language. część 5

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Przykład programu w PHP. Wykład10.PHP ciągdalszy,str.1

Aplikacje WWW - laboratorium

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.)

KatMPBSoft - 1 -

Jak posługiwać się edytorem treści

Autor: Joanna Karwowska

Internetowe bazy danych

SSK - Techniki Internetowe

Aplikacje WWW - laboratorium

Aplikacje internetowe

Pomoc dla systemu WordPress

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Personal Home Page PHP: Hypertext Preprocessor

Ajax. 1. Wprowadzenie. 2. Aplikacja serwerowa

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

Internetowe bazy danych

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Aplikacje WWW - laboratorium

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT SITE ANALYZER 2.7.1

Tworzenie Stron Internetowych. odcinek 9

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Aktualizacja SMSFall v Data publikacji:

Aplikacje internetowe - laboratorium

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Dokumentacja smsapi wersja 1.4

Zrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień Uniwersytet Warszawski

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Audio i Video w HTML5

Ćwiczenie: JavaScript Cookies (3x45 minut)

Bazy danych i strony WWW

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

5. Współpraca z bazą danych MySQL

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

W ogólności znaczniki mogą również posiadać atrybuty które pozwalają wpływać i manipulować własnościami znaczników lub przenosić dodatkowe informacje:

Należy ściągnąć oprogramowanie Apache na platformę

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Ćwiczenie 1 Galeria zdjęć

XML extensible Markup Language. część 5

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Liczniki odwiedzin. Licznik odwiedzin na plikach

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Transkrypt:

JQuery jquery (jquery.com) to jedna z najbardziej popularnych bibliotek/frameworków do javascript. Jej popularność oczywiście znikąd się nie bierze. Dzięki tej bibliotece jesteśmy w stanie o wiele szybciej i sprawniej pisać nasze skrypty, nie martwiąc się przy tym o kompatybilność z różnymi przeglądarkami. Główne zalety tej biblioteki: Mała objętość skryptów, prosta składnia Mała objętość samej biblioteki Bardzo dużo dodatkowych pluginów Aby zacząć używać jquery, będziemy musieli standardowo dołączyć jej plik do naszej strony. Możemy albo ściągnąć plik z biblioteką na dysk, albo odwołać się np do zewnętrznych zasobów, które udostępniają zawsze najnowszą wersję tego pliku: <script type="text/javascript" src="jquery.js"></script> //dla lokalnego pliku //lub <script src="http://code.jquery.com/jquery-latest.min.js"></script> jquery ma bardzo zwięzłą konstrukcję skryptów, do której wykorzystuje składnię łańcuchową. Każdy taki łańcuch rozpoczyna się znakiem $, a poszczególne polecenia są łączone w łańcuchy za pomocą kropki. Poniższy przykład ilustruje zastosowanie jquery: $('#pierwszy').css('color','red').hide('slow').show(3000); Powyższe polecenie wystarczy podzielić względem kropek: 1. Pobieramy obiekt #pierwszy, po czym wykonujemy na nim kilka operacji: 1. Ustawiamy mu kolor na czerwony 2. Ukrywamy go (wolno) 3. Po czym z wolna pokazujemy (3 sekundy) Ileż kodu trzeba by było napisać w czystym JS żeby uzyskać podobne efekt. Dodatkowo trzeba by było obsłużyć kilka wersji przeglądarek... document ready Aby operować na elemetach strony powinniśmy je pobrać. Aby mieć pewność że takie elementy już istnieją (czyli, że dokument DOM został utworzony), skorzystamy z instrukcji $(document).ready, która wywoła wewnętrzny kod dopiero po załadowaniu całego dokumentu strony. $(document).ready(function() //... tutaj nasze skrypty jquery //... ) W praktyce 99% skryptów jquery wstawiane jest wewnątrz tej konstrukcji. Eventy w jquery Obługa zdarzeń w jquery jest dziecinnie prosta. Wystarczy przypiąć zdarzenie do pobranego obiektu bezpośrednio, lub skorzystać z metody bind(). $('input#guzik').click(function() ) //lub $('input#guzik').bind('click', function()

) //lub w wersji > 1.4 $('input#guzik').bind( 'click' : function() ) Obsługa AJAX w jquery Metoda get $.get( "zapisz_do_bazy.php", imie: "Johny", nazwisko: "Bravo", function(dane) alert("dane otrzymane: " + dane); ); //ta sama metoda zapisana ale bardziej upakowana $.get("zapisz_do_bazy.php", imie: "Johny", nazwisko: "Bravo", function(dane) alert("dane otrzymane: " + dane) ); Przykładowy plik zapisz_do_bazy.php: <?php $serwer = 'localhost'; $uzytkownik = 'root'; $haslo = 'haslozmyphpadmina'; //ustanawiamy połączenie $polaczenie = mysql_connect($serwer, $uzytkownik, $haslo); if(!$polaczenie) die('błąd połączenia: '. mysql_error()); //wybieramy bazę mysql_select_db('baza', $polaczenie); //umieszczamy nowy wpis w tabeli $imie = mysql_real_escape_string($_post['imie']); $nazwisko = mysql_real_escape_string($_post['nazwisko']); mysql_query("insert INTO ludzie (Imie, Nazwisko) VALUES ($imie, $nazwisko)"); mysql_close($polaczenie);?> Metoda post $.post( "zapisz_do_bazy.php", imie: "Johny", nazwisko: "Bravo", function(dane) alert("dane otrzymane: " + dane); ); Powyższe metody mimo że bardzo proste w użyciu, nie dają nam pełnej kontroli nad połączniem. O wiele lepszym do tego celu jest metoda $.ajax: $.ajax( type : "POST", url : "zapisz_do_bazy.php", data : imie : 'Marcin', kraj : 'Polska'

);, success : function(msg) //ten fragment wykona się po POMYŚLNYM zakończeniu połączenia //msg zawiera dane zwrócone z serwera, complete : function(r) //ten fragment wykona się po ZAKONCZENIU połączenia //"r" to przykładowa nazwa zmiennej, która zawiera dane zwrócone z serwera, error: function(error) //ten fragment wykona się w przypadku BŁĘDU Przykład Dynamiczne selekty z wykorzystaniem JSON Problem 2 selektów, gdzie jeden z nich ustawia dynamicznie wartości w drugim. HTML: <select class="selekt_1"> <option value="-1">wybierz płeć</option> <option value="k">kobiety</option> <option value="m">mężczyźni</option> </select> <select class="selekt_2" disabled="disabled"> <option value="-1">---</option> </select> Mamy 2 selekty. Pierwszy z nich służy do wybrania płci, a drugi będzie służyć do wyboru imienia. Po wybraniu płci, sprawdzamy czy ma ona jakąś sensowną wartość (czyli jest różna od -1) i wysyłamy ją do serwera. Następnie aktywujemy drugi selekt i za pomocą pętli dynamicznie ustawiamy jego wartości. JQUERY $('.selekt_1').bind( 'change' : function() var wartosc = $(this).find('option:selected').val(); //pobieramy wartość wybranego selekta if (wartosc!=-1) //jeżeli jest inna niż -1 (czyli jeżeli został wybrany model) $.ajax( type: "POST", url: "test.php", datatype : 'json', data: gender : wartosc, success : function(json) var $selekt_2 = $('.selekt_2'); $selekt_2.attr('disabled',false); //aktywujemy 2 selekt $selekt_2.empty(); //czyscimy drugi selekt ze zdarzeń i optionów for(i=0; i<json.length; i++) //tworzymy optiony $selekt_2.append('<option value="'+json[i]['value']+'">'+json[i]['imie']+'</option>'); //ustawiamy jako wybrany pierwszy option w selekcie 2 $selekt_2.find('option').eq(0).attr('selected','selected');, error: function() alert('wystąpił błąd :)'); )

); PHP test.php <?php $plec = $_POST['gender']; $imiona = Array(); $imiona['m'] = Array(); $imiona['m'][0] = Array('imie'=>'Arnold', 'value'=>'1'); $imiona['m'][1] = Array('imie'=>'Bartek', 'value'=>'2'); $imiona['m'][2] = Array('imie'=>'Darek', 'value'=>'3'); $imiona['m'][3] = Array('imie'=>'Kamil', 'value'=>'4'); $imiona['m'][4] = Array('imie'=>'Michał', 'value'=>'5');?> $imiona['k'] = Array(); $imiona['k'][0] = Array('imie'=>'Ania', 'value'=>'1'); $imiona['k'][1] = Array('imie'=>'Beata', 'value'=>'2'); $imiona['k'][2] = Array('imie'=>'Kamila', 'value'=>'3'); $imiona['k'][3] = Array('imie'=>'Patrycja', 'value'=>'4'); $imiona['k'][4] = Array('imie'=>'Zenona', 'value'=>'5'); echo json_encode($imiona[$plec]); Zakładki (taby) <ul class="tabs"> <li class="active"><a href="#tab-1" class="active">zakładka 1</a></li> <li><a href="#tab-2">zakładka 2</a></li> <li><a href="#tab-3">zakładka 3</a></li> </ul> <div id="tab-1" class="tab">...treść pierwszej zakładki <div id="tab-2" class="tab">...treść drugiej zakładki <div id="tab-3" class="tab">...treść trzeciej zakładki $(document).ready(function() //dla każdego miejsca z tabami $('.tabs').each(function() var $ul = $(this); var $li = $ul.children('li'); //przy wejsciu na strone ukrywamy tresc tabow i pokazujemy tylko aktywny... $li.each(function() //pętla po wszystkich tabach var $tresctaba = $($(this).children('a').attr('href')); //pobieramy blok o id pobranym z linka-taba if ($(this).hasclass('active')) //jeżeli ten tab ma klasę aktywną $tresctaba.show(); //to pobrany przed chwilą blok pokazujemy else $tresctaba.hide(); //jeżeli takiej klasy nie ma to blok ukrywamy ); /*mały trik - gdy klikamy na tab, wtedy wykonujemy zdarzenie dla linka, który się w nim znajduje (dzieki temu możemy kliknąć na cały tab, a nie tylko na linka)*/ $li.click(function() $(this).children('a').click()); //po kliknięciu na link... $li.children('a').click(function() //usuwamy z tabów klasę active $li.removeclass('active'); //ukrywamy wszystkie taby $li.each(function() $($(this).children('a').attr('href')).hide(); );

); Zadanie ); ); //ustawiamy klikniętemu tabowi klasę aktywną $(this).parent().addclass('active'); $($(this).attr('href')).show(); //nie chcemy wykonać domyślnej akcji dla linka return false; Dodać przynajmniej jeden skrypt z wykorzystaniem biblioteki jquery do strony. Skrypt może na przykład służyć do: walidacji formularza, dynamicznej zmiany treści strony (bez przeładowania jej), zakładek, Ajax i przesyłanie danych do php, Animacji, przesuwania elementów, Obsługa zdarzeń na stronie.