Repository navigation
Expand file tree
/
Copy pathtp08-formulaire.html
More file actions
82 lines (66 loc) · 1.94 KB
/
Copy pathtp08-formulaire.html
File metadata and controls
82 lines (66 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>TP08 - Contrôle de formulaire</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 40px;
}
label {
display: block;
margin: 10px 0 5px;
}
input {
padding: 6px;
width: 250px;
}
.erreur {
background-color: red;
color: white;
padding: 10px;
margin-top: 15px;
display: none;
}
button {
margin-top: 15px;
padding: 10px 20px;
}
</style>
</head>
<body>
<h1>Formulaire utilisateur</h1>
<form id="formulaire">
<label for="nom">Nom :</label>
<input type="text" id="nom">
<label for="prenom">Prénom :</label>
<input type="text" id="prenom">
<label for="naissance">Date de naissance :</label>
<input type="date" id="naissance">
<button type="submit">Valider</button>
<div id="messageErreur" class="erreur"></div>
</form>
<script>
document.querySelector("#formulaire").addEventListener("submit", function(event) {
event.preventDefault(); // Empêche l'envoi du formulaire
const nom = document.querySelector("#nom").value.trim();
const prenom = document.querySelector("#prenom").value.trim();
const naissance = document.querySelector("#naissance").value.trim();
const erreur = document.querySelector("#messageErreur");
let messages = [];
if (!nom) messages.push("Le nom doit être renseigné.");
if (!prenom) messages.push("Le prénom doit être renseigné.");
if (!naissance) messages.push("La date de naissance doit être renseignée.");
if (messages.length > 0) {
erreur.innerHTML = messages.join("<br>");
erreur.style.display = "block";
} else {
erreur.style.display = "none";
alert("Formulaire valide !");
// Ici, tu pourrais soumettre le formulaire ou traiter les données
}
});
</script>
</body>
</html>