Formation complet Ajax jQuery

37  Download (0)

Full text

(1)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

JQuery

Emeline DOREY

Mars 2018

(2)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

1

Pr´

esentation

2

Installation

3

Syntaxe

4

electeurs

5

ethodes de manipulation du DOM

6

Les ´

ev`

enements

7

Les effets

8

Propri´

et´

e

9

Parcours des listes

(3)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

Pr´

esentation

JQuery ⇒ biblioth`

eque JavaScript (libre) qui porte sur

l’interaction entre JavaScript et HTML.

eveloppement de scripts plus rapide.

Scripts plus concis.

Commandes communes de JavaScript simplifi´

ees.

Compatible avec beaucoup de navigateurs.

Premi`

ere version ⇒ Janvier 2006.

(4)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

Pr´

e-requis ⇒ connaˆıtre :

HTML ⇒ au moins les balises,

CSS ⇒ au moins les s´

electeurs,

JavaScript (les ´

ev´

enements...),

DOM.

(5)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

Installation

JQuery est un fichier JS ⇒ A t´

el´

echarger sur

jquery.com

Version de production ⇒ compress´

ee, pour les versions

publiques des sites. Le code source n’est pas destin´

e `

a

ˆ

etre consult´

e.

Version de d´

eveloppement ⇒ code source lisible.

Int´

egrer ce JS dans la page Web

Si la librairie se nomme jquery.js et se trouve dans le

eme r´

epertoire que la page courante, au niveau du

head de cette page, il faut d´

eclarer :

<script type="text/javascript" src="jquery.js"></

script>

(6)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

La syntaxe jQuery permet la s´

election d’´

el´

ements

HTML et l’ex´

ecution d’actions sur ces ´

el´

ements.

Syntaxe de base ⇒ $(selecteur).action()

$ ⇒ d´

efinition d’un objet de classe jQuery

(selecteur) ⇒ requˆ

ete de s´

election des ´

el´

ements HTML

action() ⇒ action `

a ex´

ecuter sur les ´

el´

ements

electionn´

es

Exemples :

$(this).hide() ⇒ Masque l’´

el´

ement courant

$(’div’).hide() ⇒ Masque les ´

el´

ements div

$(’.toto’).hide() ⇒ Masque les ´

el´

ements ayant

class=’toto’

(7)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

electeurs

Avantage de jQuery ⇒ int`

egre la syntaxe de diff´

erents

electeurs, permettant de cibler facilement les ´

el´

ements

HTML `

a traiter :

Les s´

electeurs CSS.

(8)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

* S´electeur universel Tous les ´el´ements de la page #id S´electeur d’ID Cible un ´el´ement par son identifiant (id unique) .class S´electeur de classes Cible des ´el´ements par leur classe

A S´electeur de type Cible les ´el´ements A (c’est `a dire un ´el´ement de type A) A,B,C S´electeur de type Cible les ´el´ements A, B et C

A B S´electeur descendant Cible l’´el´ement B, enfant de l’´el´ement A A > B S´electeur d’enfant Cible l’´el´ement B, enfant direct de l’´el´ement A A + B S´electeur adjacent Cible l’´el´ement B, pr´ec´ed´e imm´ediatement par un ´el´ement A A ∼ B S´electeur adjacent (Semblable `a A+B, en moins strict.)Cible les ´el´ements B qui suivent un ´el´ement A A[attr] S´electeur d’attribut Cible tout ´el´ement A ayant un attribut attr

A[attr=”valeur”] S´electeur d’attribut Cible tout ´el´ement A ayant un attribut attr ´egal `a valeur A[attr*=”valeur”] S´electeur d’attribut Cible tout ´el´ement A ayant un attribut attr contenant valeur A[attrˆ=”valeur”] S´electeur d’attribut Cible tout ´el´ement A ayant un attribut attr commencant par valeur A[attr$=”valeur”] S´electeur d’attribut Cible tout ´el´ement A ayant un attribut attr qui se termine par valeur

A[attr∼=”valeur”] S´electeur d’attribut Cible tout ´el´ement A dont l’attribut attr a pour valeur une liste de valeurs s´epar´ees par des espaces et dont l’une d’elle est valeur A[attr|=”valeur”] S´electeur d’attribut Cible tout ´el´ement A dont l’attribut attr a pour valeur une liste des valeurs s´epar´ees par des tirets. Cette liste commence par valeur A:checked Pseudo-classe Cible les ´el´ements A qui sont coch´es (bouton radio ou case `a cocher)

A:hover Pseudo-classe Survole de l’´el´ement A

A:not(selecteur) Pseudo classe de n´egativation Cible les ´el´ements A qui ne r´epondent pas au selecteur A:first-child Pseudo-classe Cible le premier enfant de l’´el´ement A A:last-child Pseudo-classe Cible le dernier enfant de l’´el´ement A

(9)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

Quelques s´

electeurs jQuery

:eq(index) Cible l’´el´ement pr´esent `a l’indice sp´ecifi´e (index) $(’p:eq(0)’) s´electionne le premier paragraphe de la page :gt(index) S´electionne tous les ´el´ements ayant un indice sup´erieur `a index (’p:gt(1)’)

:lt(index) S´electionne tous les ´el´ements ayant un indice inf´erieur `a index (’p:lt(3)’)

:even Cible les ´el´ements paires $(’td:even’) toutes les colonnes paires :odd Cible les ´el´ements impaires $(’td:odd’) toutes les colonnes impaires

(10)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

$(document).ready(function(){

// code jQuery...

});

ethode permettant d’attendre le chargement total de

la page.

$(function(){

// code jQuery...

});

JQuery ex´

ecutera cette fonction lorsque le DOM sera

charg´

e.

(11)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

ethodes de manipulation du DOM

Insertion

Quelques m´

ethodes d’insertion :

after(elt) ⇒ Insertion de l’´

el´

ement elt apr`

es les

´

el´

ements s´

electionn´

es.

$(’div’).after(’<p>Nouveau texte</p>’);

Insertion du paragraphe apr`

es le bloc.

before(elt) ⇒ Insertion de l’´

el´

ement elt avant les

´

el´

ements s´

electionn´

es.

$(’div’).before(’<p>Nouveau texte</p>’);

Insertion du paragraphe avant le bloc.

(12)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

Insertion

append(elt) ⇒ Insertion de l’´

el´

ement elt `

a la fin des

´

el´

ements s´

electionn´

es.

$(’div’).append(’Nouveau texte’);

Insertion du texte `

a la fin du bloc.

appendTo(selecteur) ⇒ Insertion des ´

el´

ements de la

liste `

a la fin des ´

el´

ements cibl´

es par selecteur.

//Creation d’une image

var image = $(’<img src="toto.png" alt="toto" />’);

//Insertion de cette image dans le bloc ’zone’

image.appendTo($(’div#zone’));

(13)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

ethodes de manipulation du DOM

Insertion

prepend(elt) ⇒ Insertion de l’´

el´

ement elt au d´

ebut des

´

el´

ements s´

electionn´

es.

$(’div’).prepend(’Nouveau texte’);

(14)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

Suppression

Quelques m´

ethodes de suppression :

remove(selecteur) ⇒ Suppression des ´

el´

ements qui

correspondent au s´

electeur pass´

e en param`

etre.

$(’div’).remove(’$(p)’);

Suppression des paragraphes pr´

esents dans les blocs de

la page.

remove() ⇒ Suppression des ´

el´

ements s´

electionn´

es.

$(’#lstBlocs’).children().remove();

Suppression de tous les ´

el´

ements enfants pr´

esents dans

(15)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

ethodes de manipulation du DOM

Suppression

empty() ⇒ Suppression du contenu des ´

el´

ements

electionn´

es (ne supprime pas l’´

el´

ement lui-mˆ

eme).

$(’p’).empty();

(16)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

Contenu textuel

text() ⇒ retourne le contenu textuel de l’´

el´

ement

courant.

text(’txt’) ⇒ affecte le texte txt `

a l’´

el´

ement courant.

//Retourne le contenu textuel des paragraphes

$(’p’).text();

//Affectation du texte "Coucou" au paragraphe "titi"

$(’p#titi’).text("Coucou");

(17)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

ethodes de manipulation du DOM

election d’´

el´

ements

find(selecteur) ⇒ r´

ecup`

ere tous les ´

el´

ements

selecteur.

$(’div#liste’).find(’h3’);

Retourne toutes les balises h3 pr´

esentent dans la balise

(18)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

Attributs

attr(nomAttribut) ⇒ retourne la valeur de l’attribut

nomAttribut.

$(’em’).attr(’title’);

(19)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

ethodes de manipulation du DOM

Attributs

attr(nomAttribut, valeur) ⇒ affecte valeur `

a

l’attribut nomAttribut.

$(’img#toto’).attr(’alt’,’image1’);

Affecte `

a la balise img, ayant l’identifiant toto,

(20)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

CSS

css(nomPropriete) ⇒ retourne la propri´

et´

e CSS

nomPropriete.

$(this).css(’background-color’);

(21)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements Les effets Propri´et´e Parcours des listes AJAX

ethodes de manipulation du DOM

CSS

css(nomPropriete, valeur) ⇒ affecte valeur `

a la

propri´

et´

e CSS nomPropriete.

$(this).css(’background-color’, ’#FFB300’);

Affecte la couleur ’#FFB300’ `

a l’arri`

ere plan de

(22)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements

Les effets Propri´et´e Parcours des listes AJAX

Gestionnaire d’´

ev`

enements

on(typeEvnt, appelFonction) ⇒ instruction qui

permet d’attacher des ´

ev`

enements aux ´

el´

ements

electionn´

es. L’´

ev`

enement de type typeEvnt

eclenchera la fonction appelFonction.

$(’#btn’).on(’click’, jouer);

Lancement de la fonction JS jouer lors du clique sur

(23)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM

Les ´ev`enements

Les effets Propri´et´e Parcours des listes AJAX

Les ´

ev`

enements

Gestionnaire d’´

ev`

enements

off(typeEvnt) ⇒ suppression du gestionnaire

d’´

ev`

enement ajout´

e pr´

ec´

edemment, pour l’´

ev`

enement

typeEvnt sp´

ecifi´

e.

$(’#btn’).off(’click’);

L’´

element ayant pour identifiant btn ne dispose plus

(24)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements

Les effets

Propri´et´e Parcours des listes AJAX

Afficher/Masquer

show() ⇒ m´

ethode permettant d’afficher les ´

el´

ements

cach´

es s´

electionn´

es.

Elle travaille sur des ´

el´

ements cach´

es par les m´

ethodes

jQuery ou par display:none dans CSS.

Elle ne fonctionne par sur l’instruction CSS

visibility:hidden.

$(’p#para1’).show();

Affiche le paragraphe ayant pour identifiant para1.

hide() ⇒ m´

ethode permettant de masquer les ´

el´

ements

electionn´

es.

(25)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets

Propri´et´e

Parcours des listes AJAX

Propri´

et´

e - length

.length ⇒ propri´

et´

e qui retourne le nombre d’´

el´

ements

electionn´

es.

var nbDiv = $(’div’).length;

(26)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e

Parcours des listes

AJAX

.each(function(index,[element])) ⇒ parcourt la liste

d’´

el´

ements s´

electionn´

es.

index ⇒ commence `

a 0

element ⇒ ´

el´

ement DOM de la liste pr´

esent `

a l’indice

index. Non obligatoire, il peut ˆ

etre acc´

ed´

e dans la

fonction par la valeur this.

$(’li’).each

(

function(index){

var txt = $(this).text();

alert(txt);

}

);

(27)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

AJAX

AJAX est int´

egr´

e `

a JQuery, via la fonction :

$.ajax({parametres});

Cette fonction retourne l’objet XMLHttpRequest qu’il

cr´

eer

Les principaux param`

etres de cette fonction sont :

type ⇒ GET, POST, PUT, DELETE (GET par

efaut)

url ⇒ url vers laquelle la requˆ

ete sera envoy´

ee

data ⇒ donn´

ees `

a envoyer

dataType ⇒ type de donn´

ees attendu en retour du

serveur (xml, html, script, json, jsonp, text). S’il

(28)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

$.ajax({parametres});

success ⇒ traitements `

a effectuer en cas de succ`

es de

la requˆ

ete (retours HTTP 2..)

error ⇒ traitements `

a effectuer en cas d’erreur de la

requˆ

ete (retours HTTP 4.. ou 5..)

complete ⇒ fonction appel´

ee `

a la fin de la requˆ

ete

(apr`

es ex´

ecution des services de succ`

es et de retours

(29)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

AJAX - Exemple d’appel avec param`

etre

$. ajax({

type : ’ get ’ ,

url : ’ simulateur . php’,

data: ’ mode=xml’,

dataType: ’ xml’ ,

success : function (dataXml, textStatus , jqXHR){

//La reponse du serveur est contenue dans ’dataXml’

//Coder les traitements a lancer en cas de succes ...

traitementEtabs(dataXml);

},

error : function (jqXHR, textStatus, errorThrown){

//Une erreur s ’ est produite lors de la requete

alert ( ’ ERREUR retour serveur’);

}

(30)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

ajaxExemple1 jquery.html

<!DOCTYPE html>

<html>

<head>

<meta http−equiv=”Content−Type” content=”text/html; charset=UTF

−8”>

<script type=”text/ javascript ” src=”js/jquery−1.8.3. js ”></script>

<script type=”text/ javascript ” src=”ajaxExemple1 jquery.js”></script

>

</head>

<body>

<form name=”ajax” method=”POST” action=””>

<p>

<input type=”button” value=”Submit” onclick=”submitForm();”>

</p>

<div id=”zoneModif”>

Texte de depart

</div>

</form>

</body>

</html>

(31)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

AJAX - Exemple complet

ajaxExemple1 jquery.js

function submitForm()

{

$. ajax({

type : ’ get ’ ,

url : ’ tab.html’ ,

dataType: ’ html’ ,

success : function (dataXml, textStatus , jqXHR){

//La rponse du serveur est contenue dans ’dataXml’

document.getElementById(”zoneModif”).innerHTML = dataXml;

},

error : function (jqXHR, textStatus, errorThrown){

//Une erreur s ’ est produite lors de la

requte

document.getElementById(”zoneModif”).innerHTML =”Erreur:

code d’etat ” + errorThrown + ” ” + textStatus;

}

}) ;

}

(32)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

tab.html

<h1>Test Ajax</h1>

<table border=”1”>

<tr colspan=”2”>Tableau</tr>

<tr>

<td>colonne 1</td>

<td>colonne 2</td>

</tr>

<table>

(33)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

AJAX - GET

Autre m´

ethode pour charger une page avec la m´

ethode

GET :

$.get(url, [data], [function(data, textStatus, jqXHR)

], [dataType]);

url ⇒ (obligatoire) url de la page `

a charger

data ⇒ (optionnel ) donn´

ees `

a envoyer au serveur avec

la requˆ

ete

(34)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

$.get(url, [data], [function(data, textStatus, jqXHR)

], [dataType]);

function(data, textStatus, jqXHR) ⇒ (optionnel )

fonction `

a ex´

ecuter lorsque les donn´

ees de retours du

serveur sont charg´

ees avec succ`

es

data ⇒ contient les donn´

ees r´

esultat de la requˆ

ete

textStatus ⇒ contient le statut de la requˆ

ete

(’success’, ’notmodified’, ’error’, ’timeout’ ou

’parsererror’)

jqXHR ⇒ contient l’objet XMLHttpRequest

dataType ⇒ (optionnel ) sp´

ecifie le format des donn´

ees

renvoy´

ees par le serveur `

a la fonction pr´

ec´

edente (xml,

html, script, json, jsonp, text)

(35)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

AJAX - GET

$.get(url, [data], [function(data, textStatus, jqXHR)

], [dataType]);

Valeur de retour ⇒ XMLHttpRequest

Fonction raccourcis ne permettant que le traitement des

requˆ

etes

Si vous devez appeler des fonctions pour les retours

’success’ et ’error’, vous devez utiliser la fonction $.ajax

(36)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

$.get(

’ simulateur . php’,

’ mode=xml’,

function (data, textStatus , jqXHR){

traitementEtabs(data) ;

},

’ xml’

) ;

(37)

JQuery Emeline DOREY Pr´esentation Installation Syntaxe S´electeurs M´ethodes de manipulation du DOM Les ´ev`enements Les effets Propri´et´e Parcours des listes

AJAX

AJAX - POST

Autre m´

ethode pour charger une page avec la m´

ethode

POST :

$.post(url, [data], [function(data, textStatus, jqXHR

)], [dataType]);

Figure

Updating...

References