function editFieldUsername(id) { var pElement = document.getElementById(id);// Récupérer l'élément

via son identifiant var currentValue = pElement.textContent.trim();// Obtenir le texte actuel du

// Créer un champ de saisie avec la valeur actuelle var input = document.createElement('input'); input.type = 'text'; input.value = currentValue input.class = 'changeValue'; input.setAttribute('onblur', 'saveFieldUsername("' + id + '", this.value)'); // Sauvegarde lors de la perte de focus // Remplacer le

par le champ pElement.innerHTML = ''; pElement.appendChild(input); input.focus(); // Mettre le focus sur le champ de saisie } //Sauvegarder les changements sur la vue pour le username function saveFieldUsername(id, newValue) { if (id === 'username') { if (newValue.trim() === "") { alert('Le nom d\'utilisateur ne peut pas être vide.'); document.getElementById(id).querySelector('input').focus(); return; // Ne pas sauvegarder si le nom d'utilisateur est vide } } var pElement = document.getElementById(id);// Récupérer l'élément

via son identifiant // Mettre à jour la valeur avec la nouvelle saisie pElement.innerHTML = '' + newValue + ' '; } function editFieldEmail(id) { var pElement = document.getElementById(id);// Récupérer l'élément

via son identifiant var currentValue = pElement.textContent.trim();// Obtenir le texte actuel du

// Créer un champ de saisie avec la valeur actuelle var input = document.createElement('input'); input.type = 'email'; input.value = currentValue input.class = 'changeValue'; input.setAttribute('onblur', 'saveFieldEmail("' + id + '", this.value)'); // Sauvegarde lors de la perte de focus // Remplacer le

par le champ pElement.innerHTML = ''; pElement.appendChild(input); input.focus(); // Mettre le focus sur le champ de saisie } //Sauvegarder les changements sur la vue pour l'email function saveFieldEmail(id, newValue) { if (id === 'email') { if (!validateEmail(newValue)) { alert('Adresse email invalide. Veuillez entrer un email valide.'); document.getElementById(id).querySelector('input').focus(); return; // Ne pas sauvegarder si l'email n'est pas valide } } if (id === 'username') { if (newValue.trim() === "") { alert('Le nom d\'utilisateur ne peut pas être vide.'); document.getElementById(id).querySelector('input').focus(); return; // Ne pas sauvegarder si le nom d'utilisateur est vide } } var pElement = document.getElementById(id); // Récupérer l'élément

via son identifiant // Mettre à jour la valeur avec la nouvelle saisie pElement.innerHTML = '' + newValue + ' '; } //Email valide function validateEmail(email) { var re = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;// Regex pour vérifier le format de l'email return re.test(String(email).toLowerCase()); } function editFieldPassWd(id) { var pElement = document.getElementById(id);// Récupérer l'élément

via son identifiant pElement.innerHTML = '';// Effacer le contenu actuel de

pour insérer les inputs // Créer le champ de saisie pour le nouveau mot de passe var inputNewPass = document.createElement('input'); inputNewPass.type = 'password'; inputNewPass.placeholder = 'Nouveau mot de passe'; // Un placeholder pour indiquer la fonction du champ inputNewPass.classList.add('changeValue'); // Ajouter une classe CSS pour styliser l'input inputNewPass.setAttribute('id', 'newPassword'); // Ajouter un ID pour la gestion inputNewPass.classList.add('inputPasswd'); // Ajouter une classe au input // Créer le champ de saisie pour la confirmation du mot de passe var inputConfirmPass = document.createElement('input'); inputConfirmPass.type = 'password'; inputConfirmPass.placeholder = 'Confirmer le mot de passe'; // Un placeholder pour indiquer la fonction du champ inputConfirmPass.classList.add('changeValue'); // Ajouter une classe CSS pour styliser l'input inputConfirmPass.setAttribute('id', 'confirmPassword'); // Ajouter un ID pour la gestion inputConfirmPass.classList.add('inputPasswd'); // Ajouter une classe au input // Ajouter un bouton de sauvegarde var saveButton = document.createElement('button'); saveButton.textContent = 'Sauvegarder le mot de passe'; saveButton.classList.add('saveButtonPasswd'); // Ajouter une classe au bouton saveButton.onclick = function() { savePasswordFields(id, inputNewPass.value, inputConfirmPass.value); }; // Ajouter les deux champs de saisie et le bouton dans l'élément

pElement.appendChild(inputNewPass); pElement.appendChild(document.createElement('br')); // Saut de ligne pour espacer les champs pElement.appendChild(inputConfirmPass); pElement.appendChild(document.createElement('br')); // Saut de ligne pour espacer pElement.appendChild(saveButton); inputNewPass.focus();// Mettre le focus sur le premier champ de saisie } function savePasswordFields(id, newPassword, confirmPassword) { // Vérification si les champs sont vides if (newPassword.trim() === "" || confirmPassword.trim() === ""){ alert("Les champs de mot de passe ne doivent pas être vides."); return; } // Vérification de la correspondance des deux mots de passe if (newPassword === confirmPassword) { var pElement = document.getElementById(id);// Récupérer l'élément

via son identifiant if(newPassword.length >= 16){ var maskedPassword = '*'.repeat(16); // Masquer le nouveau mot de passe pour l'affichage } else{ var maskedPassword = "*".repeat(newPassword.length); // Masquer le nouveau mot de passe pour l'affichage } // Remplacer les champs input par le texte masqué pElement.innerHTML = '' + maskedPassword + ' '; alert('Mot de passe mis à jour avec succès'); // Possibilité d'ajouter ici une fonction pour envoyer les nouveaux mots de passe au serveur } else { alert('Les mots de passe ne correspondent pas.'); } }