Bonjour, J'ai une petite question par rapport aux événements : avec l'évent "click" seul mon clic gauche est détecté, pourtant avec "mouseup" et "mousedown" le clic droit et le clic molette sont bien détecté. voici mon code au cas ou(c'est quasiment le meme que celui du cour) edit : par détecté je veut dire que l'évent ne se déclenche pas (j'imagine) vu qu'aucune information ne s'affiche dans la console
function getBoutonSouris(code){
let bouton = "inconnu";
switch(code){
case 0:
bouton = "gauche";
break;
case 1:
bouton = "roulette";
break;
case 2:
bouton = "droit";
break;
}
return bouton;
}
function infoClic(e){
console.log("event : "+e.type+". Clic "+getBoutonSouris(e.button)+" a la position X : "+e.clientX+", Y : "+e.clientY+".");
}
document.addEventListener("click", infoClic);
document.addEventListener("mouseup", infoClic);
document.addEventListener("mousedown", infoClic);
Merci d'avance
- Edité par julien chemin 24 janvier 2019 à 11:39:24
Bonjour, pour le dernier exercice fonctionne très bien avecMozilla Firefox par contre je rencontre un problème avecgoogle chrome et Internet explorer c'est que les popups bloquent l'affichage dans la console donc soit je travail avec les popups soit avec la console or je dois travailler avec les deux. Merci
je ne cherche pas a interagir avec le menu du clic droit mais seulement a le détecter. J'était sur le cours "programmation évènementiel" du javascript quand j'ai écrit ce post, et l'un des exercice consiste a utiliser l'event click pour afficher dans la console "clic gauche", "roulette" ou "clic droit". Mon code fonctionne avec l'event mouseup et mousedown mais pas avec l'event click, pourtant dans le cour c'est bien l'event click qui est utilisé et sa a bien l'air de fonctionner. j'imagine que le cour a besoin d'être mis a jour? (pourtant sur developer.moz dans l'event click la propriété button indique qu'elle doit renvoyer 0 pour le clic gauche, 1 pour la molette si il y en a une et 2 pour le clic droit)
AmaniChahdoura, peut tu préciser de quel exercice tu parle? et je ne comprend pas en quoi les popup empêche l'affichage dans la console.
@julien skiz il me semble que click c'est uniquement pour le bouton gauche, ensuite tu as le contextmenu uniquement pour le bouton droit, et les mousedown et mouseup pour tous les boutons.
e.target.value te donne la valeur de l'élément sur lequel on a déclenché l'évènement. Par exemple, si j'ai un champ (input) qui a pour id firstname, et que je souhaite afficher dans la console la valeur de ce champ à chaque fois que je la modifie, je peux faire :
Dans le 2ème cas, en partant du principe que form représente ton formulaire, il possède la propriété elements qui contient tous les champs de ton formulaire. Si tu as un champ qui a pour name password, et que tu veux récupérer sa valeur, tu peux faire:
const form = document.querySelector('form');
console.log(form.elements.password.value);
bonjour à tous ! Je viens vous demandez de l'aide car j'ai récupéré un java script mais je suis pas capable de changer les image des cartes qui bouges j'ai juste été capable de changer la carte de fond et la je sais plus quoi faire et ou aller la dedans. svp aider moi
Voici le code en question :
<!doctype html>
<html lang="fr">
<head>
<title>Le tirage gratuit de don&voyance : trois cartes</title>
<meta name="description" content="Le tirage gratuit de don&voyance trois cartes, une interprétation personnalisée des 22 lames majeures, profitez des conseils divinatoires du tarot de marseille pour réaliser vos projets"/>
var cardsSigni = ['Le choix - le doute', 'La voie à prendre', 'Réussite et réalisation', 'Pouvoir et loi', 'Volonté et énergie', 'Le commencement', 'Spiritualité et sagesse', 'Voyage et initiation', 'Deception et bouleversement', 'Pouvoir intuitif', 'Richesse et prospérité', 'Equilibre', 'Triomphe succès', 'Loyauté et ordre', 'Renoncement et sacrifice', 'Changement', 'Patience et modération', 'Tentation et excès', 'Evolution et conseils sages', 'Emotivité et gestation', 'Recompense des efforts', 'La connaissance'];
/*--------------------------------------------
--------La description des cartes-------------
----------------------------------------------*/
var cardsDescr = ['Prenez garde aux tentations, aux imprudences et aux prises de décisions impulsives, cela pourrait s\'avérer dangereux pour votre équilibre de vie.hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh',
'Vous serez en quête d\'espérance et de valeurs humaines essentielles, une déception peut vous entrainer dans une certaine mélancolie, ne vous laissez pas abattre!hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh',
'Le monde vous apporte une une évolution heureuse à court terme! vous triompherez des obstacles qui se dressaient sur votre route.',
'Vous souhaitez vous réaliser matériellement, il est temps pour vous de passer à l\'action tout en gardant les pieds sur terre.',
'Vous possédez une bonne vitalité et vous avez de l\'énergie à revendre, vous espérez que ces valeurs soient reconnues par votre entourage. Vos efforts seront récompensés.',
'Tous les atouts sont de votre côté, vous pouvez bénéficier de bonnes opportunités et le moment est venu d\'entreprendre et d\'agir, ne cédez pas à l\'immobilisme!',
'N\'attachez pas trop d\'importance aux valeurs matérielles, cherchez plutôt à développer votre intuition, elle vous servira dans un futur proche.hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh',
'Vous êtes fatigué d\'attendre quelque chose qui tarde à arriver, essayez de vous changer les idées. Vous aurez tendance à vous laisser aller.',
'Des risques de conflits ou de séparation sont à craindre, attention aux pertes financières dues à une mauvaise gestion.',
'Méfiez vous des ennuis que pourraient vous causer certains proches, vos meilleurs atouts sont la communication et le respect de la loi.',
'L\'annonce d\'un changement dû au hasard ou à la destinée vous est réservé dans un court avenir, soyez prêt à recevoir cette transformation rapide.',
'les choses cachées ou en gestation vous invitent à la réflexion. Sur le plan sentimental, une modification est à prévoir dans un avenir proche et la fin d\'une attente.',
'Vous saurez triompher de vos épreuves, cet arcane vous annonce la concrétisation d\'un souhait qui vous tenait à coeur depuis bien longtemps.hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh',
'Vous allez bénéficier d\'un appui solide dans vos démarches, si vous avez des soucis pour déméler une situation difficile, un dénouement heureux se produira.',
'Vous ressentez le besoin de vous libérer d\'une situation qui vous pèse et qui ne vous convient plus, vous cherchez le détachement et la liberté d\'action',
'Vous allez vivre une période de transformation et de changement, le moment est propice pour faire table rase du passé.',
'Vous aurez à faire preuve de patience et de calme intérieur, vous ne reglerez pas vos affaires en agissant de manière impulsive, contrôlez vos émotions!',
'Votre appétit pour les plaisirs de la vie est grand et vous avez envie de les croquer à pleines dents, attention aux excès de toutes sortes.',
'Les travaux intellectuels et les recherches vous épanouiront, ils favoriseront un nouveau départ, acceptez toutes les propositions qui vous seront faites, en ce sens.',
'Votre sensibilité et votre imagination sont mises en avant, vous ressentez un profond désir de vous laisser aller au gré de vos envies. La création est favorisée.',
'Vous bénéficierez d\'un grand pouvoir de décision auprès des gens qui vous entourent, profitez en pour réaliser les choses qui vous tiennent à coeur.',
'les choses cachées ou en gestation vous invitent à la réflexion. Sur le plan sentimental, une modification est à prévoir dans un avenir proche et la fin d\'une attente.'];
var bottom = Math.sin(i/(cardLimit-1)*Math.PI)*55 + Math.abs((i-mid));
//randomizes position a bit, to looks more natural
diffL = Math.random()*6-3;
diffT = Math.random()*6-3;
//checks if the card already exists
if(!$(".carte[data-number="+i+"]").length) {
//creates the card's div and gives it its class
var carte = $("<div></div>").attr("data-number", i).addClass("carte");
var img = $("<img />").attr("src", "http://www.mahasiadonvoyance.com/medias/images/dessus-carte-tarot5.jpg"); /* ICI C'EST L'IMAGE DU DESSUS DES CARTES DE TAROT A LA LIGNE 321 */
carte.append(img);
//adds the card to the DOM
$("#container").append(carte);
//we want rotation from -10 to +10 before randomizing
var a = (i-mid)
//rotates the card (maybe not working on IE8-)
var angle = (i-mid)*Math.abs(i-mid)/3 + (Math.random()*10-5);
Prenez le bon chemin et évitez les embuches en faisant, dès maintenant, le tirage du tarot de Marseille. Les 22 lames majeures vous révèleront vos obstacles, vos atouts pour réussir votre désir ainsi que votre état d'esprit du moment. <br/>Le tirage gratuit du tarot de Marseille trois cartes s'est adapté à vos besoins pour vous apporter une interprétation rapide, simple et personnalisée des 22 lames majeures, profitez des conseils divinatoires du tarot de marseille pour réaliser vos projets.
personne ne te répondra si tu ne formatte pas ton code avec la balise code, afin que ça soit lisible.
En tout cas il y a plusieurs problèmes, premièrement il y a des balises script qui pointent sur du html, et deuxièmement jquery n'est pas importé donc ça ne risque pas de fonctionner.
Sinon pour les images, je suppose qu'il suffit de changer le fichier de l'image, ou alors de changer son nom en haut dans l'array.
Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: jscript;">Votre code ici</pre>.
Bonjour, je viens de "terminer" le cour apprenez à coder en javascript, très bon cour mais je m'étonne de la dernière partie concernant cet exercice
Je trouve cet exercice hors sujet par rapport au cour que je viens de suivre. Je ne doute pas qu'il soit d'un niveau très basique dans l’apprentissage du js mais il aborde des choses qui ne sont absolument pas présentes dans le cour ni même abordé brièvement. A la sortie de ce cour je ne suis pas sensé savoir comment faire interagir du js avec du html pour afficher des choses etc..
Alors j'ai du mal à comprendre la pertinence de sa présence à la fin. S'agit il d'une erreur ou je n'ai pas compris quelque chose concernant le fonctionnement des cours openclassrooms ?
Je ne voie pas se qui te pause problème, dans l'exercice que tu nous montre il n'y a pas d'interaction js/html, tu doit tout afficher dans la console. Tu a regardé la vidéo qui explique le résultat attendu?
Aaah.. ben non j'avais pas vue la vidéo.. je me suis pris la tête pour rien j'ai vraiment crus qu'il était demandé d'afficher tout ça sur la page html avec un bouton "ajouter un contact" etc..
C'est beaucoup plus clair forcément maintenant que j'ai vue la vidéo.. merci à toi
Bonjour à tous, j'ai une grosse galère avec cette activité 2... Je renseigne mon formulaire, auteur, lien et titre et lorsque je clique sur Ajouter, la Div se créée bien en haut de mon contenu on l’aperçoit rapidement puis elle disparaît !! Je tourne en bourrique, j'ai tout effacé puis recommencé mais même problème je ne vois pas ou est mon erreur et rien en console...
var listeLiens = [
{
titre: "So Foot",
url: "http://sofoot.com",
auteur: "yann.usaille"
},
{
titre: "Guide d'autodéfense numérique",
url: "http://guide.boum.org",
auteur: "paulochon"
},
{
titre: "L'encyclopédie en ligne Wikipedia",
url: "http://Wikipedia.org",
auteur: "annie.zette"
},
];
// TODO : compléter ce fichier pour ajouter les liens à la page web
function ajoutLien(lien) {
let titreLien = document.createElement("h3");
titreLien.textContent = lien.titre;
titreLien.href = lien.url;
titreLien.style.display = "inline";
let urlhref = document.createElement("a");
urlhref.href = lien.url;
urlhref.style.textDecoration = "none";
// urlhref.style.display = "inline"
let lientexte = document.createElement("p");
lientexte.textContent = lien.url;
lientexte.style.display = "inline";
lientexte.style.marginLeft = "10px"
let nomAuteur = document.createElement("span");
nomAuteur.textContent = "Ajouté par " + lien.auteur;
nomAuteur.style.display = "block";
nomAuteur.style.marginTop = "10px"
let divLien = document.createElement("div");
divLien.setAttribute("class", "divLien");
divLien.style.backgroundColor = "white";
divLien.style.margin = "20px";
divLien.style.padding = "10px";
urlhref.appendChild(titreLien);
divLien.appendChild(urlhref);
divLien.appendChild(lientexte);
divLien.appendChild(nomAuteur);
return divLien;
}
// recuperation de chaque objet de la ListeLiens
let contenu = document.getElementById("contenu");
listeLiens.forEach(function(lien) {
let creerAjoutLien = ajoutLien(lien);
contenu.appendChild(creerAjoutLien)
})
// creation d'une div pour le formulaire
let divForm = document.createElement("div");
divForm.id = "divForm";
document.body.insertBefore(divForm, contenu);
// creation bouton Ajouter un lien:
let boutonAjouter = document.createElement("button");
boutonAjouter.textContent = "Ajouter un lien";
boutonAjouter.style.marginLeft = "20px";
// divForm.appendChild(boutonAjouter);
document.getElementById("divForm").appendChild(boutonAjouter)
// Event sur le bouton ajouter qui va creer le formulaire
boutonAjouter.addEventListener("click", function(e) {
boutonAjouter.style.display = "none";
let form = document.createElement("form");
// Creation des champs input et submit
let inputAuteur = document.createElement("input");
inputAuteur.setAttribute("type", "text");
inputAuteur.setAttribute("name", "auteur");
inputAuteur.id = "auteurId";
inputAuteur.placeholder = "Entrez votre nom";
let inputTitre = document.createElement("input");
inputTitre.setAttribute("type", "text");
inputTitre.setAttribute("name", "titre");
inputTitre.id = "titreId";
inputTitre.placeholder = "Entrez le titre";
let inputLien = document.createElement("input");
inputLien.setAttribute("type", "url");
inputLien.setAttribute("name", "url");
inputLien.id = "urlId";
inputLien.placeholder = "Entrez l'url du site";
let inputSubmit = document.createElement("input")
inputSubmit.setAttribute("type", "submit")
inputSubmit.id = "inputSubmit";
inputSubmit.value = "Ajouter"
// insertion des éléments dans le formulaire
form.appendChild(inputAuteur);
form.appendChild(inputTitre);
form.appendChild(inputLien);
form.appendChild(inputSubmit);
// divForm.appendChild(form);
document.getElementById("divForm").appendChild(form);
form.addEventListener("submit", function() {
let objetListeLiens = Object.create(listeLiens);
objetListeLiens.titre = form.elements.titre.value;
objetListeLiens.url = form.elements.url.value;
objetListeLiens.auteur = form.elements.auteur.value;
let envoiAjoutLien = ajoutLien(objetListeLiens);
let divLien = document.getElementsByClassName("divLien");
for( let i = 0; i < divLien.length; i++) {
document.getElementById("contenu").insertBefore(envoiAjoutLien, divLien[0]);
}
form.style.display = "none";
boutonAjouter.style.display = "inline";
})
})
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="../css/liensweb.css">
<title>Activité 2</title>
</head>
<body>
<h1>Activité 2</h1>
<!-- Les nouveaux éléments sont ajoutés dans cette balise -->
<div id="contenu">
</div>
<script src="../js/liensweb.js"></script>
</body>
</html>
- Edité par GuillaumedeStéfano 9 février 2019 à 16:01:17
Merci Jérémy mais Zoki avait raison. C'etait le e.preventDefault() qui ne fonctionnait pas car je n'avais pas passé le paramètre(e) sur mon EventListener.
Je ne suis pas encore passé pour une andouille aujourd'hui donc je ne vais pas passer à côté d'une occasion comme ça :
Jusque ici, je suivais plus ou moins et, d'une façon ou d'une autre, j'arrivais à faire les exercices, faire marcher ce que je faisait ou au moins comprendre ce qui faisait que ça ne marchait pas.
Mais là, je suis sur l'exercice du chapitre des chaines, je ne comprends pas ce qui ne marche pas et ça m'enerve :
Je pense que ca doit être un truc évident, que je n'ai du coup pas compris, et m'agace
(La solution donne une technique toute differente, mieux sans doute, mais je voulais comprendre ce qui n'allait pas dans mmon truc avant .. ;))
Ta première erreur est l'emplacement de ton instruction return qui se trouve dans ton while et qui met donc fin à l'exécution de ta fonction dès la première itération de ta boucle.
Pour te le prouver, ajoute un console.log(chaine[i]) avant ton if, et tu verras qu'il n'affichera que la première lettre de ton mot en console. Il ne passe donc qu'une seule fois dans ta boucle (à cause du return).
Ajoute ensuite des parenthèses pour ta condition :
if (chaine[i] === ("a" || "e" || "i" || ...)) {
}
Ton code devrait maintenant marcher pour les minuscules. Pour compter les majuscules, soit tu les ajoutes dans ta condition (à la suite de tes OU logiques ||), soit tu utilises la méthode toLowerCase() pour passer ta chaîne de caractères en minuscules.
Bonjour, j'ai récemment fini ce cours et rendu l'exercice final dont voilà mes résultats.
Apparemment les deux premiers correcteurs n'ont pas compris que l'exercice se résumait à afficher les informations dans la console et qu'il n'y avait pas besoin de créer d'interface sur la page (en dehors de la fenêtre prompt pour indiquer le choix de l'utilisateur).
Voilà le code de mon programme :
class Contact
{
constructor(prenom,nom)
{
this.prenom = prenom
this.nom = nom
}
}
const listeContacts = [];
listeContacts.push(new Contact ("Carole", "Lévisse"));
listeContacts.push(new Contact ("Mélodie", "Nelsonne"));
console.log("Bonjour et bienvenue sur votre gestionnaire de contacts :)");
let interrupteur = 0 ;
while (interrupteur === 0)
{
console.log("Que voulez-vous faire ?\n1 : Afficher les contacts\n2 : Ajouter un contact\n0 : Quitter");
const choix = prompt("Que voulez-vous faire ?");
if (choix === "1")
{
console.log("Voiçi la liste de tous vos contacts:")
listeContacts.forEach(contact => console.log(`- ${contact.prenom} ${contact.nom}`));
}
else if (choix === "2")
{
const nouvPrenom = prompt("Prénom de votre nouveau contact ?");
const nouvNom = prompt("Nom de votre nouveau contact ?");
listeContacts.push(new Contact (nouvPrenom, nouvNom));
console.info(`Votre contact ${nouvPrenom} ${nouvNom} a bien été ajouté.`)
}
else if (choix === "0")
{
interrupteur = 1 ;
}
}
console.log("Au revoir !");
Il me semble qu'il fonctionne parfaitement, et même si je me pourrai me faire à l'idée de ne pas avoir mon certificat de réussite je voulais savoir s'il était possible de retenter ma chance ?
Bonjour, avec la note de 6/11, je n'ai pas réussi le dernier exercice selon un bête faute. Est-il possible de le recommencer afin d'avoir le certificat ?
Je sèche un peut sur l'activité 2, je me demandais si quelqu'un pourrai m'aider.
Toute la boucle semble fonctionner , sauf le menu 0 qui permet de sortir du programme.
Je ne comprend pas pourquoi en tapant"0", le programme ne s'aiguille pas vers la sortie.
Si le code n'ai pas assez lisible ou si quelque chose vous dérange n’hésiter pas à me le dire , je suis preneur de tous conseils
/*ajout de contact*/
var Contact = {
init: function (nom, prenom) {
this.nom = nom;
this.prenom = prenom;
},
decrire: function() {
return "Nom : " + this.nom + ", prénom : " + this.prenom;
}
};
function ajoutContact(){
var newNom = prompt ("Entre un nom:");
var newPrenom = prompt ("Entrer un prenom");
var newContact = Object.create(Contact);
newContact.init (newNom, newPrenom);
contact.push(newContact);
console.log("Le nouveau contact a été pris en compte");
console.log("");
}
var contact1 = Object.create(Contact);
contact1.init("Levisse", "Carole");
var contact2 = Object.create(Contact);
contact2.init("Nelsonne", "Melodie");
/*tableau*/
var contact = [];
contact.push(contact1);
contact.push(contact2);
/*quitter*/
function quitter() {
console.log("sorti du programme");
}
/*boucle while*/
console.log("Vous etes dans le gestionnaire de contacts!");
var menu;
while (menu !== 0) {
console.log("1:Lister les contacts");
console.log("2:Ajouter un contact");
console.log("0:Quitter");
//console.log("");
var menu = prompt("Choississer une option:");
switch(menu){
case"1":
console.log ("détail de la liste de contacts:");
for (var i = 0; i < contact.length; i++) {
console.log(contact[i].decrire());
}
break;
case "2":
ajoutContact();
break;
}
}
quitter();
console.log("Fin du programme");
Bonjour à tous ! J'en suis à la fin du cours et je me posais une question sur le dernier exercice : pourquoi on est obligé de mettre console.log dans le forEach alors que la fonction decrire() a déjà un return ? Ou dans l'autre sens, pourquoi on est obligé de mettre console.log dans la fonction decrire() à la place du return si on fait que appeler la fonction dans le forEach (comme j'ai fais) ? Ou plus simplement, pourquoi juste avec le return de la fonction decrire() ça ne marche pas ?
Fonkyjoy : Le problème viens de l'imbrication de tes éléments il faut faire en sort que le programme s’exécute étape par étape.
FlorianIlles : return renvoi une valeur et console.log affiche une valeur/un résultat donc pour afficher dans la console la valeur renvoyé il faut passer par console.log. Si ta fonction utilises console.log alors il suffit d'appeler la fonction pour que le résultat s'affiche.
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet.
Bonjour à toutes et à tous! J'ai un petit problème concernant JavaScript. Je ne sais pas comment récupérer le contenu d'une balise(exemple : <select id="list"><option>....</select>
Je veux récupérer le contenu de la balise option. qu'est ce que je dois faire?
Besoin de votre coup de main s'il vous plait. Merci.
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'/>
<link rel='stylesheet' href='../css/style.css'/>
<link rel='stylesheet' href='../css/flatly.css'/>
</head>
<body>
<div id='main_wrapper'>
<header>
<!-- Depuis Navbar1 du thème flatly de bootswatch.com-->
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<a class="navbar-brand" href="#">MAHTP</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor01" aria-controls="navbarColor01" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarColor01">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="formulaire.php">Formulaire<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="all.php">Listes</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="text" placeholder="Search">
<button class="btn btn-secondary my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
<!--fin du navbar1 du thème flatly de bootswatch.com-->
<p id="en_tete">FICHE INDIVIDUELLE</p>
</header>
<div class='separator'> </div>
<section>
<div class='block_card2'>
<div class="card text-white bg-primary mb-3" style="max-width: 20rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h4 class="card-title">Primary card title</h4>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-white bg-danger mb-3" style="max-width: 20rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h4 class="card-title">Danger card title</h4>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-white bg-warning mb-3" style="max-width: 20rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h4 class="card-title">Warning card title</h4>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card bg-light mb-3" style="max-width: 20rem;">
<div class="card-header">Header</div>
<div class="card-body">
<h4 class="card-title">Light card title</h4>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
</div>
<form method='post' action='traitement_insert.php'>
<div id='bloc_field'>
<div id='fieldgroup1'>
<fieldset id='field1'>
<legend>Information générale de l'employé(e)</legend>
<p>
<table>
<tr>
<td>
<label for='sit_indiv'>Situation individuelle :</label>
</td>
<td>
<select name="sit_indiv" id="sit_indiv">
<option value="HEE">HEE</option>
<option value="FONCTIONNAIRE">FONCTIONNAIRE</option>
<option value="EFA">EFA</option>
<option value="ELD">ELD</option>
</select>
</td>
<td>
<label for='num_mat'>Numéro matricule :</label>
</td>
<td>
<input class='champtxt' type='text' maxlength='20' name='num_mat' id='num_mat' placeholder='' title='Veuillez insérez votre numéro matricule' required/><br/>
</td>
<td>
Grade actuelle :
</td>
<td>
<label for="ga_classe">Classe</label>
<select name="ga_classe" id="ga_classe">
<option value="stagiaire">Stagiaire</option>
<option value="deuxieme_classe">Deuxième classe</option>
<option value="premiere_classe">Première classe</option>
<option value="classe_principale">Classe principale</option>
<option value="classe_exceptionnelle">Classe exceptionnelle</option>
</select>
</td>
<td>
<label for="ga_echelon">Échelon</label>
<select name="ga_echelon" id="ga_echelon">
<option value="">Aucun</option>
<option value="premiere_echelon">1ère échelon</option>
<option value="deuxieme_echelon">2ème échelon</option>
<option value="troisieme_echelon">3ème échelon</option>
</select>
</td>
</tr>
<tr>
<td>
Sexe :
</td>
<td>
<input class='champtxt' type='radio' name='sexe' id='f' value='F'/><label for='f'> Féminin</label>
<input type='radio' name='sexe' id='m' value='M'/><label for='m'> Masculin</label>
</td>
<td>
<label for='corps'>Corps :</label>
</td>
<td>
<select name="corps" id="corps">
<option value="aucun" id="corps_op1" onclick="ga_func('aucun');">Aucun</option>
<option value="sous operateur" id="corps_op2" onclick="ga_func('sous_operateur');">sous_opérateur</option>
<option value="operateur" onclick="ga_func('operateur');">Opérateur</option>
<option value="encadreur" onclick="ga_func('encadreur');">Encadreur</option>
<option value="technicien superieur" onclick="ga_func('technicien_superieur');">Technicien supérieur</option>
<option value="realisateur adjoint" onclick="ga_func('realisateur_adjoint');">Réalisateur adjoint</option>
<option value="realisateur" onclick="ga_func('realisateur');">Réalisateur</option>
<option value="concepteur" onclick="ga_func('concepteur');">Concepteur</option>
</select>
<script>
function ga_func(var c){
alert(document.getElementById("corps"));
}
</script>
</td>
<td>
Personne à contacter en cas d'urgence :
</td>
<td>
<input class='champtxt' type='text' name='contact_urg_nom' placeholder='nom' /><br/>
<input class='champtxt' type='tel' name='contact_urg_tel' maxlength='10' placeholder='numéro téléphone'/>
</td>
</tr>
</table>
</p>
</fieldset>
<fieldset id='field2'>
<legend>ETAT CIVIL</legend>
<p>
<table class='tab_sa'>
<tr>
<td>
<label for='nom'>Nom :</label>
</td>
<td>
<input class='champtxt' type='text' name='nom' id='nom' size='30' maxlength='50' required/>
</td>
</tr>
<tr>
<td>
<label for='prenom'>Prénom :</label>
</td>
<td>
<input class='champtxt' type='text' name='prenom' id='prenom' size='30' maxlength='50' required/>
</td>
</tr>
<tr>
<td>
<label for='cin'>CIN :</label>
</td>
<td>
<input class='champtxt' type='text' name='cin' id='cin' size='30' maxlength='12' required/>
</td>
</tr>
</table>
<table class='tab_sa'>
<tr>
<td>
<label for='date_naiss'>Date de naissance :</label>
</td>
<td>
<input class='champtxt' type='text' name='date_naiss' id='date_naiss' size='30' maxlength='50' placeholder='aaaa-mm-jj' required/>
</td>
</tr>
<tr>
<td>
<label for='lieu_naiss'>Lieu de naissance :</label>
</td>
<td>
<input class='champtxt' type='text' name='lieu_naiss' id='lieu_naiss' size='30' maxlength='50' required/>
</td>
</tr>
<tr>
<td>
<label for='lot'>Lot :</label>
</td>
<td>
<input type='text' class='champtxt' name='lot' id='lot' size='30' required/>
</td>
</tr>
</table>
</p>
</fieldset>
<fieldset id='field3'>
<legend>SITUATION FAMILIALE</legend>
<table class='tab_sf'>
<tr>
<td>
Situation familiale :
</td>
<td>
<input class='champtxt' type='radio' name='sit_amour' id='celibataire' onclick="clfunction();" value='celibataire'/><label for='celibataire'>Célibataire</label>
<input class='champtxt' type='radio' name='sit_amour' id='marie' onclick="mrfunction();" value='marie'/><label for='marie'>Marié(e)</label><br/>
<input class='champtxt' type='radio' name='sit_amour' id='divorce' value='divorce'/><label for='divorce'>Divorcé(e)</label>
<input class='champtxt' type='radio' name='sit_amour' id='Veuf' value='veuf'/><label for='veuf'>Veuf/Veuve</label>
</td>
</tr>
</table>
<div id='mr'></div>
<script>
function clfunction(){
document.getElementsByTagName("div");
div.id = "ms";
}
function mrfunction(){
var sure = confirm("Êtes-vous bien sûre que vous êtes bien marié(e)?");
if(sure){
var a = "<table class='tab_sf'><tr>";
a += "<td>";
a += "<label for='date_mar'>Date du mariage civil :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='date' name='date_mar' id='date_mar' size='30'>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<strong>Renseignements sur le conjoint(e)</strong>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<label for='nomc'>Nom :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='text' name='nomc' id='nomc' size='30'/>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<label for='prenomc'>Prénom :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='text' name='prenomc' id='prenomc' size='30'/>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<label for='date_naissc'>Date de naissance :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='date' name='date_naissc' id='date_naissc' size='30'/>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<label for='fonction_c'>Fonction :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='text' name='fonction_c' id='fonction_c' size='30'/>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<label for='Societe_emp'>Société employeur :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='text' name='societe_emp' id='societe_emp' size='30'/>";
a += "</td>";
a += "</tr>";
a += "</table>";
a += "<table class='tab_sf'>";
a += "<tr>";
a += "<td>";
a += "<label for='tel_c'>Téléphone :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='tel' name='tel_c' id='tel_c' size='30'/>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<strong>Pour le conjoint(e) fonctionnaire</strong>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<label for='min_emp_c'>Ministère employeur :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='text' name='min_emp_c' id='min_emp_c' size='30'/>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<label for='corps_c'>Corps :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='text' name='corps_c' id='corps_c' size='30'/>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<label for='num_matc'>Numéro matricule :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='text' name='num_matc' id='num_matc' size='30'/>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<label for='fonction_c2'>Fonction :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='text' name='fonction_c2' id='fonction_c2' size='30'/>";
a += "</td>";
a += "</tr>";
a += "<tr>";
a += "<td>";
a += "<label for='loc_servicec'>Localité de service :</label>";
a += "</td>";
a += "<td>";
a += "<input class='champtxt' type='text' name='loc_servicec' id='loc_servicec' size='30'/>";
a += "</td>";
a += "</tr>";
a += "</table>";
var retr = document.getElementById("mr");
retr.innerHTML = a;
}
}
</script>
</fieldset>
<fieldset id='field6'><legend>Renseignements sur les enfants (moins de 21 ans)</legend>
<table>
<tr>
<td>
<strong>Veuillez indiquer le nombre de vos enfants (moins de 21 ans) : </strong>
</td>
<td>
<input type='button' value="combien d'enfants avez-vous?" id='nb_enfant_button' onclick="kidfunction();"/>
</td>
</tr>
</table>
<script>
function kidfunction(){
var n = parseInt(prompt("Combien d'enfants avez-vous? (moins de 21 ans)"));
if (n > 0){
var x = "<input type='text' name='nb_enfant' value='" + n + "' hidden /><table class='jstable'><tr><th class='jsth'>Numéro</th><th class='jsth'>Nom</th><th class='jsth'>Prénom</th><th class='jsth'>Date de naissance</th><th class='jsth'>Sexe</th><th class='jsth'>Classe</th><th class='jsth'>Observations</th></tr>";
for (var i = 1 ; i<=n ; i++){
x += "<tr>";
x += "<td class='jstd'><span name='numkid" + i + "' id='numkid" + i + "' size='2'>" + i + "</span></td>";
x += "<td class='jstd'><input type='text' class='champtxt' name='nomkid" + i + "' id='nomkid" + i + "' size='15' required/></td>";
x += "<td class='jstd'><input type='text' class='champtxt' name='pnomkid" + i + "' id='pnomkid" + i + "'size='15' required/></td>";
x += "<td class='jstd'><input type='text' class='champtxt' name='dnaisskid" + i + "' id='dnaisskid" + i + "'size='8' required/></td>";
x += "<td class='jstd'><p id='paragraph_kid'><input type='radio' name='sexekid" + i + "' id='masculin' value='masculin' size='30'/><label for='masculin'>M</label><input type='radio' name='sexekid" + i + "' id='feminin' value='feminin'/><label for='feminin'>F</label></p></td>"
x += "<td class='jstd'><input type='text' class='champtxt' name='classekid" + i + "' id='classekid" + i + "' size='10'/></td>";
x += "<td class='jstd'><input type='text' class='champtxt' name='obskid" + i + "' id='obskid" + i + "' size='10'/></td>";
x += "</tr>";
}
x += "</table></fieldset>";
var retour = document.getElementById("valret");
retour.innerHTML = x;
}else{
var x = "<input type='text' name='nb_enfant' value='0' hidden /><p id='no_kid'>PAS D'ENFANTS</p></fieldset>";
var retour = document.getElementById("valret");
retour.innerHTML = x;
}
}
</script>
<div id='valret'></div>
</fieldset>
</div>
<div id='fieldgroup2'>
<fieldset id='field4'>
<legend>SITUATION ADMINISTRATIVE</legend>
<p>
<table class='tab_sa'>
<tr>
<td>
<label for='date_entr_admin'>Date d'entrée dans <br/>l'administration :</label>
</td>
<td>
<input class='champtxt' type='date' name='date_entr_admin' id='date_entr_admin' size='30'/>
</td>
</tr>
<tr>
<td>
<label for='Corps_a'>Corps :</label>
</td>
<td>
<select name="corps_a" id="corps_a">
<option value="aucun">Aucun</option>
<option value="sous operateur">sous_opérateur</option>
<option value="operateur">Opérateur</option>
<option value="encadreur">Encadreur</option>
<option value="technicien superieur">Technicien supérieur</option>
<option value="realisateur adjoint">Réalisateur adjoint</option>
<option value="realisateur">Réalisateur</option>
<option value="concepteur">Concepteur</option>
</select>
</td>
</tr>
<tr>
<td>
<p>Grade actuelle :</p>
</td>
<td>
<select name="grade_actu_classe_a" id="grade_actu_classe_a">
<option value="stagiaire">Stagiaire</option>
<option value="deuxième classe">Deuxième classe</option>
<option value="première classe">Première classe</option>
<option value="classe principale">Classe principale</option>
<option value="classe exceptionnelle">Classe exceptionnelle</option>
</select>
<select name="grade_actu_echelon_a" id="grade_actu_echelon_a">
<option value=" ">Aucun</option>
<option value="1ere échelon">1ère échelon</option>
<option value="2eme échelon">2ème échelon</option>
<option value="3eme échelon">3ème échelon</option>
</select>
</td>
</tr>
<tr>
<td>
<label for='cadre_a'>Cadre :</label>
</td>
<td>
<select name='cadre_a' id='cadre_a'>
<option>Aucun</option>
<option>A1</option>
<option>A2</option>
<option>A3</option>
<option>B1</option>
<option>B2</option>
<option>B3</option>
</select>
</td>
</tr>
<tr>
<td>
<label for='fonc_actu_a'>Fonction actuelle :</label>
</td>
<td>
<input class='champtxt' type='text' name='fonc_actu_a' id='fonc_actu_a' size='30'/>
</td>
</tr>
<tr>
<td>
<label for='mission_pple_agent'>Mission principale de l'agent<br/>liée à sa fonction :</label>
</td>
<td>
<input class='champtxt' type='text' name='mission_pple_agent' id='mission_pple_agent' size='30'/>
</td>
</tr>
<tr>
<td>
<label for='service_a'>Service :</label>
</td>
<td>
<input class='champtxt' type='text' name='service_a' id='service_a' size='30'/>
</td>
</tr>
</table>
<table class='tab_sa'>
<tr>
<td>
<label for='direction_a'>Direction :</label>
</td>
<td>
<input class='champtxt' type='text' name='direction_a' id='direction_a' size='30'/>
</td>
</tr>
<tr>
<td>
<label for='direction_gle_a'>Direction générale :</label>
</td>
<td>
<input class='champtxt' type='text' name='direction_gle_a' id='direction_gle_a' size='30'/>
</td>
</tr>
<tr>
<td>
<label for='imput_budg'>Imputation budgétaire :</label>
</td>
<td>
<input class='champtxt' type='text' name='imput_budg' id='imput_budg' size='30'/>
</td>
</tr>
<tr>
<td>
<p>Code de payement :</p>
</td>
<td>
<input type='radio' name='payement' value='bon de caisse' id='bon_de_caisse'/>
<label for='bon_de_caisse'>BON DE CAISSE</label>
<br/>
<input type='radio' name='payement' value='virement bancaire' id='virement_bancaire'/>
<label for='virement_bancaire'>VIREMENT BANCAIRE</label>
</td>
</tr>
<tr>
<td>
<label for='code_banque'>Code banque :</label>
</td>
<td>
<input class='champtxt' type='text' name='code_banque' id='code_banque' size='30' maxlength='10'/>
</td>
</tr>
<tr>
<td>
<label for='num_compte'>Numéro de compte :</label>
</td>
<td>
<input class='champtxt' type='text' name='num_compte' id='num_compte' size='30' maxlength='13'/>
</td>
</tr>
<tr>
<td>
<label for='num_tel'>Numéro de téléphone de l'agent :</label>
</td>
<td>
<input class='champtxt' type='tel' name='num_tel' id='num_tel' size='30' maxlength='15'/>
</td>
</tr>
</table>
</p>
</fieldset>
</div>
<div id='fieldgroup3'>
<fieldset id='field5'>
<legend>Avancements successifs</legend>
<p>
<!--ajout de quelque chose-->
<label for='avancement_button'>Nombre d'avancement : </label>
<input type='button' value="nombre d'avancement" id='avancement_button' onclick="av_function();"/>
<div id='avancements'></div>
<script>
function av_function(){
do{
do{
var nb = parseInt(prompt('Veuillez indiquer le nombre de votre avancement'));
var y = "<input type='text' name='nb_avancement' value='" + nb + "' hidden /><table class='jstable'><tr><th class='jsth'>Ref acte (contrat de travail, arrêté, décision d'engagement pour les ECD</th><th class='jsth'>Corps</th><th class='jsth'>Grade</th><th class='jsth'>Indice</th><th class='jsth'>Date d'effet</th></tr>";
for (var i = 1 ; i <= nb ; i++){
y += "<tr><td class='jstd'><input type='text' class='champtxt' name='ref" + i + "' id='ref" + i + "' size='20'/></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='corps" + i + "' id='corps" + i + "' size='20'/></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='grade" + i + "' id='grade" + i + "' size='10'/></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='indice" + i + "' id='indice" + i + "' size='4' maxlength='4' /></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='date_effet" + i + "' id='date_effet" + i + "' size='10' maxlength='10'/></td>";
}
y += "</tr></table>";
var retour = document.getElementById("av_successifs");
retour.innerHTML = y;
}while(!nb);
}while(nb <1);
}
</script>
</p>
<div id='av_successifs'></div>
</fieldset>
<fieldset id='field7'>
<legend>Affectations successives</legend>
<p>
<!--ajout de quelque chose-->
<label for='affectation_button'>Nombre d'affectation : </label>
<input type='button' value="nombre d'affectation" id='affectation_button' onclick="af_function();"/>
<div id='affectations'></div>
<script>
function af_function(){
do{
do{
var nb = parseInt(prompt('Veuillez indiquer le nombre de votre affectation'));
var y = "<input type='text' name='nb_affectation' value='" + nb + "' hidden /><table class='jstable'><tr><th class='jsth'>Direction</th><th class='jsth'>Service</th><th class='jsth'>Fonction</th><th class='jsth'>Ref precis note de service/decision d'affectation/arrêté</th><th class='jsth'>Observations</th></tr>";
for (var i = 1 ; i <= nb ; i++){
y += "<tr><td class='jstd'><input type='text' class='champtxt' name='direction" + i + "' id='direction" + i + "' size='20'/></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='service" + i + "' id='service" + i + "' size='20'/></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='fonction" + i + "' id='fonction" + i + "' size='10'/></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='ref_note" + i + "' id='ref_note" + i + "' size='4' maxlength='4' /></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='obsaffect" + i + "' id='observations" + i + "' size='10' maxlength='10'/></td>";
}
y += "</tr></table>";
var retour = document.getElementById("affectations");
retour.innerHTML = y;
}while(!nb);
}while(nb <1);
}
</script>
</p>
</fieldset>
<fieldset id='field8'>
<legend>Etudes, stages et formations</legend>
<p>
<!--ajout de quelque chose-->
<label for='esf_button'>Veuillez indiquer le nombre d'etude, de stage ou de formation que vous avez parcouru : </label>
<input type='button' value="nombre d'études, de stages et de formations" id='esf_button' onclick="esf_function();"/>
<div id='esfs'></div>
<script>
function esf_function(){
do{
do{
var nb = parseInt(prompt("Veuillez indiquer le nombre d'etude, de stage ou de formation que vous avez parcouru"));
var y = "<input type='text' name='nb_esf' value='" + nb + "' hidden /><table class='jstable'><tr><th class='jsth'>Thème</th><th class='jsth'>Période</th><th class='jsth'>Organisme(ville/pays)</th><th class='jsth'>Diplôme ou certificat</th><th class='jsth'>Observations</th></tr>";
for (var i = 1 ; i <= nb ; i++){
y += "<tr><td class='jstd'><input type='text' class='champtxt' name='theme" + i + "' id='direction" + i + "' size='35'/></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='periode" + i + "' id='service" + i + "' size='35'/></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='organisme" + i + "' id='fonction" + i + "' size='35'/></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='diplome" + i + "' id='ref_note" + i + "' size='35' /></td>";
y += "<td class='jstd'><input type='text' class='champtxt' name='obsesf" + i + "' id='observations" + i + "' size='35' /></td>";
}
y += "</tr></table>";
var retour = document.getElementById("esfs");
retour.innerHTML = y;
}while(!nb);
}while(nb <1);
}
</script>
</p>
</fieldset>
</div>
</div> <!--div bloc_field-->
<p id='pvalid'>
<input type='submit' class='validation' value='envoyer'/>
<input type='reset' class='validation' value='Annuler'/>
</p>
</form>
</section>
<?php
include('includes/footer.php');
?>
</div><!--div main_wrapper-->
</body>
</html>
La commande prompte semble bloquer les console.log...
Pour une raison inconnue, la fenêtre du prompt s'affiche et du coup les console.log bien que mis avant ne s'affichent jamais. Sur Firefox, cela fonctionne très bien mais je n'ai pas envie d'avoir un 0, si le correcteur utilise Chrome...
Cela semble marcher si je mets un timer de 2 secondes avant le prompt mais j'imagine que c'est un bricolage qui n'est pas accepté
des conseils ?
Extrait du code :
console.log("Bienvenue dans le gestionnaire des contacts !");
let choix;
while (choix !== "0") {
console.log("\n 1: Lister les contacts \n 2: Ajouter un contact \n 0: Quitter");
choix = prompt("Choisissez une option :");
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
lesjoiesducode / Les points-virgules en JavaScript
Formateur JavaScript – Créateur de la formation vidéo en ligne JavaScript de Zéro.
lesjoiesducode / Les points-virgules en JavaScript