TD Javascript
TD Javascript
Nauer
Pour vous faire gagner du temps, des codes HTML/Javascript partiels sont fournis sur arche. La mention
d’un astérisque (*) dans les énoncés des exercices qui suivent indique que du code est fourni pour
l’exercice.
À partir de l’exercice 5 vous pouvez utiliser JQuery (et requêtes HTTP depuis JQuery si nécessaire).
Exercice 2 Popup
Ecrire le code javascript (Popup.html) qui demande à l’utilisateur de saisir son prénom dans une
fenêtre de saisie (utiliser la fonction prompt()), puis qui lui demande de confirmer celui-ci (utiliser la
fonction confirm()), puis qui lui affiche « Salut prénom ! » (utiliser la fonction alert()).
Un exemple correct d’enchaînement est donné ci-dessous.
Exercice 3 Recherche des propriétés d’objets
<!DOCTYPE html>
<html>
<head>
<title>Recherche de propriétés</title>
<meta charset="utf-8" />
</head>
<body bgcolor="white">
<form name="MonFormulaire">
<span id="id1" style="background-color : red">Zone de saisie : </span>
<input type="text" name="saisie" value="vide">
<input type="button" name="submit" onClick="Afficher()" value="Afficher">
</form>
<p>Un paragraphe.</p>
<script language="javascript">
function Afficher()
{ //recherche des objets et de leurs propriétés
var object=document;
for(i in object) { document.write(i+" = "+object[i]+"<BR>\n"); }
}
Afficher();
</script>
</body>
</html>
1. À l’aide de ce début de code (en parcourant les objets), rechercher les propriétés suivantes :
- le titre de la page
- la couleur de fond de page
- le nombre de formulaire contenu dans la page
- le contenu de la zone de saisie
- la couleur de fond de la zone « Zone de saisie : »
- le longueur du texte (i.e nombre de caractères) du paragraphe
Remarques : le résultat n’est pas le même dans Internet Explorer et dans Chrome (à tester)
Le « Roll-over » consiste à modifier un élément lorsque l’utilisateur passe dessus avec la souris.
2. Étendre l’application pour réaliser le jeu du morpion : rajouter 1 bouton « Effacer » qui permet de
remettre en blanc toutes les cellules ; chaque click dans une case vide produira l’affichage alternatif
d’une croix ou d’un rond ; si 3 signes identiques sont alignés (horizontalement, verticalement ou en
diagonale) afficher « Gagné ! » dans une fenêtre de type alert.
Mettre en place une application permettant à plusieurs utilisateurs de dialoguer (vous pouvez lancer 2
fenêtres de navigateur pour tester), comme illustré dans la copie d’écran ci-dessous.
3. chat.html contient le code HTML de l’interface ci-dessus. Vous devez le compléter pour
obtenir le comportement suivant : à la 1ère saisie, l’utilisateur tape son pseudo et un message.
Lorsqu’il clique sur Envoyer la page HTML va appeler le programme
insertChatLine.php en lui passant les données pseudo et message par la méthode
POST. La zone de saisie relative au message doit être alors vidée. La fenêtre de chat doit être
mise à jour tous les 10ème de seconde en affichant le contenu courant du fichier
chatData.txt. Ajouter le code JQuery qui permet également d’envoyer le message lorsque
l’utilisateur presse la toucher « Entrée ».
Exercices subsidiaires
Cependant, une fois une des valeurs sélectionnée, il est impossible de décocher ce choix et un des choix
reste nécessairement coché. Compléter le code du fichier DecocherBoutonRadio.html (*) pour
qu’un bouton coché ne soit plus coché si on clique dessus.
Les 2 questions de cet exercice sont en lien avec l’exercice 6 sous deux aspects différent.
2. Interaction HTTP. Reprendre l’exercice sur les listes déroulantes adaptatives de la façon suivante :
- la première liste déroulante doit être remplie directement dans le code HTML/Javascript
- la seconde liste déroulante doit toujours se mettre à jour par rapport à la région sélectionnée dans la
première liste mais, cette fois, à travers une interrogation AJAX d’un programme PHP qui interroge
renvoie la liste des départements correspondant (à partir d’une interaction avec la base de données
ou pas).
-
Écrire :
- le programme javascript + page HTML ListesDeroulantesAdaptativesAjax.html ;
- le programme PHP GetRegions.php qui renvoie la liste des départements correspondant à une
région.