Diapositiva 1 - Dipartimento di Scienze Ambientali, Informatica e

Transcript

Diapositiva 1 - Dipartimento di Scienze Ambientali, Informatica e
Laboratorio Basi di Dati
JQuery
[email protected]
Luca Cosmo
Dipartimento di Scienze Ambientali, Informatica e Statistica
Università Ca’ Foscari di Venezia, Italia
jQuery
Una libreria Javascript multi-browser pensata per facilitare la
programmazione del comportamento delle pagine web client-side.
Facilita:
-
La navigazione del DOM
La selezione di specifici elementi del DOM (sintassi CSS)
La gestione degli eventi
Semplici animazioni
AJAX
Sono disponibili molti plug-in (e.g. jquery.validate per validare i form)
Deve essere inclusa:
<script type="text/javascript" src="jquery.js"></script>
se scaricata localmente, oppure online
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Fornisce un’unica funzione: $
$(arg) è una funzione che restituisce un oggetto rappresentante un
elemento del DOM arricchito di alcuni metodi molto utili!
API: http://api.jquery.com/category/selectors/
jQuery - SELETTORI
jQuery permette di selezionare specifici elementi del documento attraverso
l’uso di una sintassi simile ai selettori CSS:
•
$("#titolo").html("Basi di Dati 2012/2013");
Seleziona l’elemento con id titolo e ne inserisce all’interno la stringa "Basi di
Dati 2012/2013"
•
$(“img#logo").attr("src","img/logo.png");
Seleziona l’elemento di tipo img con id logo e ne cambia l’attributo src
impostandolo a "img/logo.png".
•
$(".red").css("color","red");
Seleziona gli elementi con classe red e ne imposta l’attributo css color a "red"
•
$("li").each(function(index){$(this).html(index);});
Seleziona una lista di elementi con tag li per ciascun elemento trovato chiama la
funzione passata. $(this) rappresenta l’elemnto corrente della lista.
Possiamo passare alla funzione $ anche elementi del DOM:
•
$(document).ready(function(){ /*Inizializzazione*/ };);
Possiamo usare questo comando per inserire il codice di inizializzazione che verrà
eseguito al caricamento del documento. (Invece di chiamare una funzione
all’onLoad del body)
jQuery - EVENTI
Possiamo facilmente associare ad un elemento del DOM una funzione
(delegate) da richiamare al verificarsi di un evento:
•
$(document).ready(function(){ /*Inizializzazione*/ };);
Evento che viene chiamato al caricamento del documento.
•
$("#myButton").click(function(e){ alert("Button click"); });
Associamo all’evento click dell’elemento con id myButton una funzione che
visualizza un popup con scritto Button click
È possibile «lanciare» un evento anche da codice javascript:
•
$("#myButton").click();
Lancia l’evento click come se l’elemento con id myButton fosse stato premuto
nell’interfaccia grafica.
Per eliminare tutte le funzioni associate agli eventi di un elemento possiamo usare:
•
$("#myButton").unbind();
API per la gestione degli eventi tramite jQuery:
http://api.jquery.com/category/events/
jQuery - ANIMAZIONI
jQuery mette inoltre a disposizione dei metodi per effettuare delle semplici
animazioni sugli elementi della pagina.
•
$("#myDiv").fadeIn()
$("#myDiv").fadeOut(1000)
Fa comparire e scomparire l’elemento con un effetto dissolvenza. È
possibile passare come argomento la durata dell’animazione.
•
$("#myDiv").slideDown()
L’elemento compare con un effetto roll-out.
Per effetti più complessi è possibile usare il metodo animate(…)
API per la gestione degli effetti tramite jQuery:
http://api.jquery.com/category/effects/
jQuery - AJAX
jQuery mette a disposizione delle funzioni per lo scambio asincrono di dati
con il web server.
$.ajax({
url:"getAjaxData.php",
success:function(textResult){
var result = JSON.parse(textResult);
...}
});
Possiamo anche inviare i dati compilati di un form in modo asincrono:
$.post("test.php", $("#testform").serialize());
API per lo scambio di dati asincrono in jQuery:
http://api.jquery.com/jQuery.ajax/
http://api.jquery.com/jQuery.post/
jQuery.validate
Plugin per jQuery per la validazione client side dei dati immessi in un form.
<script type="text/javascript"
src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"></script>
•
Permette di verificare che un dato sia stato inserito, l’eguaglianza di due campi, il
formato del testo inserito, etc.
•
Permette di validare un campo sul server in modo asincrono prima del submit.
$("#modulo").validate(
validateNickname.php?nickname=mynickname
{
rules: {
nickname: { required: true, remote: 'validateNickname.php'},
password: "required",
conferma: { required: true, equalTo: "#password" },
email: { required: true, email: true }
},
messages: {
nickname: { required: " Scegli un nickname!", remote: "Username non disponibile"},
email: " Inserisci un indirizzo email valido!"
}
});
<form id="modulo" method="post" action="script.asp">
Nickname<input type="text" id="nickname" name="nickname"><br>
Password<input type="password" id="password" name="password"><br>
Conferma la password<input type="password" id="conferma" name="conferma"><br>
Email<input type="text" id="email" name="email"><br>
<input type="submit" value="
Invia i dati
">
</form>
Documentation: http://docs.jquery.com/Plugins/validation
jQuery

jQuery is a JavaScript Library.

jQuery greatly simplifies JavaScript programming.

jQuery is easy to learn.
LINK UTILI:
 http://jquery.com/
 http://www.w3schools.com/jquery/default.asp