JavaScript. Jean-Claude Charr. Maître de conférences. IUT de Belfort Montbéliard Université de Franche Comté



Documents pareils
TP JAVASCRIPT OMI4 TP5 SRC

Document Object Model (DOM)

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Programmer en JAVA. par Tama

Programmation Web. Madalina Croitoru IUT Montpellier

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Formulaire pour envoyer un mail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

as Architecture des Systèmes d Information

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

ALGORITHMIQUE ET PROGRAMMATION En C

Sécurité des applications web. Daniel Boteanu

Introduction au langage C

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Plan du cours. Historique du langage Nouveautés de Java 7

DOM - Document Object Model

Failles des applications Web. Ce document est extrait du travail de diplôme de M. DIZON dans l état.

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Introduction à MATLAB R

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Attaques de type. Brandon Petty

HTML/CSS - Travaux Pratiques 2

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

NOTICE INSTALLATION. ARCHANGE WebDAV Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Activités HTML. Code: act-html

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

Présentation du langage et premières fonctions

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Java Licence Professionnelle CISII,


Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Séance d ED n 5 : HTML et JavaScript

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Corrigé des exercices sur les références

Programmation en Java IUT GEII (MC-II1) 1

Algorithmique et Programmation, IMA

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

WEB page builder and server for SCADA applications usable from a WEB navigator

Création d objet imbriqué sous PowerShell.

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Attaques applicatives

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

PDO : PHP Data Object 1/13

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

INF 321 : mémento de la syntaxe de Java

Architecture Orientée Service, JSON et API REST

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

AWS avancé. Surveiller votre utilisation d EC2

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Introduction. Passage de sites statiques à des sites dynamiques

TD HTML AVEC CORRECTION

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Cours Informatique Master STEP

Notions fondamentales du langage C# Version 1.0

CREATION d UN SITE WEB (INTRODUCTION)

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Recherche dans un tableau

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Chapitre 2 Devine mon nombre!

Bases de Données et Internet

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

PROGRAMMATION PAR OBJETS

Un jour, une question Réponse à une problématique issue de la liste GTA *

PHP et les Bases de données - Généralités

OpenPaaS Le réseau social d'entreprise

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Initiation à la programmation en Python

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

OCL - Object Constraint Language

Présentation du Framework BootstrapTwitter

Auto-évaluation Programmation en Java

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Java Licence Professionnelle CISII,

SPECIFICATIONS TECHNIQUES BANNIERES SITES PRISMA / TABLETTES / MOBILE

4. Groupement d objets

Introdution à PHP, MySQL et AJAX

Projet de programmation (IK3) : TP n 1 Correction

4. SERVICES WEB REST 46

La programmation orientée objet et le langage C++

STAGE IREM 0- Premiers pas en Python

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Un ordonnanceur stupide

Transcription:

JavaScript Jean-Claude Charr Maître de conférences IUT de Belfort Montbéliard Université de Franche Comté

Description générale JavaScript rend les pages html interactives JavaScript est un langage de programmation de scripts Il est en général ajouté aux pages html ou dans un fichier avec une extension.js Il est interprété et par suite exécuté sans être compilé Java et JavaScript deux langages complètement différents 2

JavaScript dans un fichier HTML Exemple: <html> <head> <script type="text/javascript"> function message(){ alert("la fonction message a été appelée"); </script> </head> <body onload="message()"> <script type="text/javascript"> document.write("message écrit par JavaScript"); </script> </body> </html> 3

JavaScript dans un fichier externe Exemple : Fichier HTML contenant : <html> <head> <script type="text/javascript" src="fichier.js"></script> </head> <body onload="popup()"> </body> </html> Fichier JavaScript contenant : function popup() { alert("hello World") ; 4

Syntaxe Javascript est sensible à la casse. Les instructions sont exécutées en séquentiel Une commande JS termine par un ; ou un retour à la ligne { encapsulent un bloc de JavaScript Commenter une ligne : // commentaire Commenter un paragraphe : /*...commentaire commentaire 5 */

Variables Déclarer une variable avec l'instruction var : Ex : var x ; var nom ; Affecter une valeur à une variable avec l'opérateur = : Ex : x=5; nom="dupont"; var prénom="rita" ; Ajouter \ pour écrie un caractère spécial dans le texte : \', \", \&, \n, \\, \t... Ex : document.write ("\"Rita\" \& I are singing!"); 6

Opérateurs Opérateurs arithmétiques binaires : +, -, *, /, %, +=,... Ex : x=5; y=x+1; y-=x ; Opérateurs arithmétiques unaires : ++, -- ; Ex : x=5; x-- ; Opérateur de concaténation + : Ex : NomComplet= "Rita"+" Dupont" ; Opérateurs de comparaisons : ==, ===,!=, <, >, <=, >= Ex : if(age<18) document.write("trop jeune") ; Opérateurs logiques : &&,,! Ex : if( x<5 && x>3) document.write("x=4"); 7

L'instruction if() Exemple : <script type="text/javascript"> var d = new Date() var time = d.gethours() if (time<10) { document.write("<b>good morning</b>"); else if (time>10 && time<16) { document.write("<b>good day</b>"); else { document.write("<b>hello World!</b>"); </script> 8

L'instruction switch Exemple : <script type="text/javascript"> var d=new Date(); theday=d.getday(); switch (theday){ case 5 : document.write("finally Friday"); break; case 6 : document.write("super Saturday"); break; case 0 : document.write("sleepy Sunday"); break; default : document.write("i'm looking forward to this weekend!"); </script> 9

Popup boxes Alert box : alert("i am an alert box!"); Confirm box : var r=confirm("press a button") ; Prompt box : var name=prompt("enter your name","harry"); 10

Fonctions Exemple : <html> <head> <script type="text/javascript"> function product(a,b){ //déclaration return a*b; </script> </head> <body> <script type="text/javascript"> document.write(product(4,3)); //appel </script> </body> </html> 11

Les boucles La boucle for : Ex : for (i=0;i<=5;i++){ document.write("the number is " + i) ; La boucle while : Ex : while (i<=5){ document.write("the number is " + i) ; i++; La boucle do while : Ex : do{ document.write("the number is " + i); i++; while (i<=5); 12

Les instructions break et continue Exemple : for (i=0;i<=10;i++){ if (i==3) continue; else if( i==5) break; document.write("the number is " + i); document.write("<br />"); 13

L'instruction for in Le code entre les accolades est exécuté pour chaque élément ou propriété. Exemple : var x; var mycars = new Array(); mycars[0] = "Saab"; mycars[1] = "Volvo"; mycars[2] = "BMW"; for (x in mycars){ document.write(mycars[x] + "<br />"); 14

Évènements Permettent de créer des pages dynamiques Peuvent déclencher l'exécution de fonctions JS Chaque élément peut détecter plusieurs évènements Exemple d'évènements : onload et onunload : lors de chargement de la page onfocus, onchange, onblur : concernant un textfield onsubmit : après avoir cliqué un boutton submit onmouseover : la souris est mise sur un élément Exemple : <input type="text" size="30" id="email" onchange="checkemail()"> 15

16

Évènements modèle enligne <html> <head> <script type="text/javascript"> // Animation function over(){ document.getelementbyid("b1").src ="b_blue.gif"; function out(){ document.getelementbyid("b1").src ="b_pink.gif"; </script> </head> <body> <a href="http://www.google.com" target="_blank"> <img border="0" alt="visit Google!" src="b_pink.gif" id="b1" onmouseover="over()" onmouseout="out()" /> </a> </body> </html> 17

Évènements modèle traditionnel <script type="text/javascript"> function over(){ document.getelementbyid("b1").src ="b_blue.gif"; function out(){ document.getelementbyid("b1").src ="b_pink.gif"; function eventregister(){ document.getelementbyid("b1").onmouseover=over ; document.getelementbyid("b1").onmouseout=out ; </script> </head> <body onload="eventregister()"> <img border="0" alt="visit Google!" src="b_pink.gif" id="b1"/> 18

La méthode addeventlistener() Syntaxe : element.addeventlistener(event, function, usecapture); Exemple : element.addeventlistener("click", myfunction); function myfunction() { alert ("Hello World!"); Passer des paramètres element.addeventlistener("click", function(){myfunction(x,y);); 19

L'objet event Permet de récupérer des informations sur l'évènement déclenché : type, ctrlkey, clientx, clienty, keycode... Ex : document.onmouseover = mouseover; function mouseover( e ){ var src ; if ( e.srcelement ) else src=e.srcelement ; // IE src=e.target ; // firefox src.style.color="red" ; 20

Les exceptions (1/2) function message(){ var txt=""; try{ adddlert("welcome guest!"); catch(err){ txt="there was an error on this page.\n\n" ; txt+="error description: " + err.description + "\n\n"; txt+="click OK to continue viewing this page,\n"; txt+="or Cancel to return to the home page.\n\n"; if(!confirm(txt)){ document.location.href="http://www.w3schools.com/"; 21

Les exceptions (2/2) var x=prompt("enter a number higher than 10 :",""); try{ if(x<10) throw "Err1" ; else if(isnan(x)) throw "Err2"; catch(er){ if(er=="err1") alert("error! The value is too low"); if(er=="err2") alert("error! The value is not a number"); 22

Les objets JS est un langage orienté objet Un objet est composé d'attributs et méthodes Il existe des objets prédéfinis dans JS comme String Exemple : <script type="text/javascript"> var txt="hello World!"; document.write(txt.length+"\n") ; txt.touppercase(); txt.big(); txt.bold(); txt.fontcolor("green"); txt.link("http://www.google.com"); document.write(txt+" "+txt.replace("world","everyone")) ; document.write("\n"+txt.indexof("d")); </script> 23

L'objet Math Contient plusieurs constantes et méthodes/ opérateurs mathématiques. Exemples : Math.PI; Math.sqrt(16); Math.cos(90); Math.round(4.7); Math.random(); Math.max(0,150,30,20,38); Math.pow(4,5); 24

L'objet String L'objet String fournit plusieurs méthodes pour manipuler les chaînes de caractères Exemples : var txt="java script"; txt.charat(2); txt.concat(" is the best"); txt.split(" "); txt.tolowercase(); 25

L'objet Date (1/2) Permet d'avoir la date et le temps courant ou de préciser une date et un temps spécifique. Permet de manipuler la date et le temps Exemple : today = new Date() d1 = new Date("October 13, 1975 11:13:00"); d2 = new Date(79,5,24); d3 = new Date(79,5,24,11,33,0); today.setdate(today.getdate()+5) ; d1.setfullyear(2010,0,14); if (d1<today) alert("today is after 14th January 2010"); 26

L'objet Date (2/2) <html> <head> <script type="text/javascript"> function starttime(){ var today=new Date() ; var h=today.gethours(); var m=today.getminutes() ; var s=today.getseconds(); document.getelementbyid('txt').innerhtml=h+":"+m+":"+s; t=settimeout('starttime()',500); </script> //cleartimeout(t); pour arrêter </head> <body onload="starttime()"> <div id="txt"></div> </body> 27 </html>

L'objet Array (vecteur) Permet de stocker plusieurs éléments dans une variable Créer et initialiser un vecteur : Ex : var mycars=new Array() ; var mycars=new Array("Saab","Volvo","BMW") ; var mycars=["saab","volvo","bmw"]; Accéder et modifier un élément d'un vecteur : Ex : mycars[0]="opel" ; Contient plusieurs méthodes pour arranger, ajouter et supprimer des éléments : sort(), join(), reverse(), pop(), push(), shift(),... 28

L'objet Boolean Il peut seulement avoir les valeurs false ou true. Exemples de création et initialisation : var myboolean=new Boolean() ; var myboolean=new Boolean(true); var myboolean=new Boolean(0); var myboolean=new Boolean(null) ; var myboolean=new Boolean("true"); var myboolean=new Boolean(""); var myboolean=new Boolean(false) ; var myboolean=new Boolean("false"); var myboolean=new Boolean(NaN) ; var myboolean=new Boolean("Richard"); 29

Définir un objet et le manipuler (1/2) var person = {firstname:"john", lastname:"doe", age:50, eyecolor:"blue" ; function person(firstname,lastname,age,eyecolor){ this.firstname=firstname; //les attributs this.lastname=lastname; this.age=age; this.eyecolor=eyecolor ; //les méthodes this.setfirstname=function(name){this.firstname=name; this.getfirstname=getfirstname; function getfirstname(){ return this.firstname() ; 30

Définir un objet et le manipuler (2/2) Créer une instance de l'objet défini : Ex : father=new person("john","doe",50,"blue"); Accéder aux attributs de l'objet instancié Ex : document.write(father.firstname); Appeler une méthode de l'objet instancié Ex : father.setfirstname("jack"); Ajouter ou supprimer une propriété Ex : father.nationality="french" ; delete father.nationality ; 31

L'objet RegExp Décrit des motifs pour les rechercher dans un texte Syntaxe : var txt=new RegExp(pattern,modifiers); var txt=/pattern/modifiers ; Exemple : var str="is this all there is?" ; var patt1=/is/gi; document.write(str.match(patt1)) ; var patt2=new RegExp("e"); document.write(patt2.test("the best things are free")) ; document.write(patt2.exec("the best things are free")); 32

Détecter le navigateur Permet d'afficher des informations différentes selon le navigateur utilisé par le client L'objet navigator : document.write("browser Name: "+navigator.appname) document.write("browser Version : " + navigator.appversion) document.write("cookies Enabled: " + navigator.cookieenabled) 33

Cookies(1/2) Une cookie est une variable stockée sur l'ordinateur du Client. Elle peut contenir des informations concernant le client comme : nom, mot de passe, date du dernier accès... Exemple : function checkcookie(){ username=getcookie('username'); if (username!=null && username!="") alert('welcome again '+username+'!') ; else{ username=prompt('please enter your name:',""); if (username!=null && username!="") setcookie('username',username) ; 34

Cookies(2/2) function setcookie(c_name,value){ document.cookie=c_name+ "=" +escape(value)+365; function getcookie(c_name){ if (document.cookie.length>0){ c_start=document.cookie.indexof(c_name + "="); if (c_start!=-1){ c_start=c_start + c_name.length+1; c_end=document.cookie.indexof(";",c_start); if (c_end==-1) c_end=document.cookie.length; return unescape(document.cookie.substring(c_start,c_end)); return ""; 35

JS pour valider un formulaire (1/3) <html> <head> <script type="text/javascript">... </script> </head> <body> <form action="submit.htm" onsubmit="return validate()" method="post" name="myform"> Email: <input type="text" name="email" size="30"> <input type="submit" value="submit"> </form> </body> </html> 36

JS pour valider un formulaire (2/3) function validate(){ var x = document.forms["myform"]["fname"].value; if (x == null x == "") { alert("name must be filled out"); return false; return true ; 37

JS pour valider un formulaire (3/3) <input id="id1" type="number" min="100" max="300"> <button onclick="myfunction()">ok</button> <p id="demo"></p> function myfunction() { var input = document.getelementbyid("id1"); if (input.checkvalidity() == false) document.getelementbyid("demo").innerhtml = input.validationmessage; //setcustomvalidity() 38