• Aucun résultat trouvé

Formation complet Ajax jQuery

N/A
N/A
Protected

Academic year: 2021

Partager "Formation complet Ajax jQuery"

Copied!
37
0
0

Texte intégral

(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]);

Références

Documents relatifs

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

dans la tradition hollywoodienne des films sur Jésus en passant d’une lecture protestante à une conception plus catholique, mais aussi en s’ouvrant, par certains

Avec la pr´ esence de source de curieth´ erapie LDR comprise entre les hanches, les images CT reconstruites pr´ esentent une forte pr´ esence d’art´ efacts m´ etalliques (figure

Les 79 occurrences du verbe entendre dans les Psaumes se répartissent en fonction de deux niveaux de communication : dans la plus grande partie des textes concernés, c’est

Non seulement les instituts religieux sont eux-mêmes fort divers entre eux, d’où l’importance de la complémentarité entre droit universel et droit propre en

Context, Cambridge University Press, 1985. Skinner, Liberty before Liberalism, Cambridge University Press, 1998, p.. D’autres projets nationaux s’inscrivent dans le domaine de

We do not require the alignments to be order preserving (i.e. we consider non-sequential alignments), which makes our algorithm suitable for detecting similar domains when com-

In analogy to the case of linear dynamics [4], for nonlinear systems we say that “almost all” systems in the class D(G) have certain property (e.g., accessibility or observability)