parent
ee32526284
commit
a7a367cc48
Binary file not shown.
@ -1 +0,0 @@
|
||||
|
@ -1 +0,0 @@
|
||||
|
@ -1,46 +1,62 @@
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Character counter management
|
||||
// Initialisation d'EmailJS
|
||||
emailjs.init("pBMgXiG4tpfVkCxhY");
|
||||
|
||||
const contactForm = document.getElementById('contactForm');
|
||||
const messageTextarea = document.getElementById('message');
|
||||
const charCount = document.getElementById('charCount');
|
||||
|
||||
if (messageTextarea && charCount) {
|
||||
// Fonction pour ajuster automatiquement la hauteur
|
||||
function autoResize() {
|
||||
this.style.height = 'auto';
|
||||
this.style.height = this.scrollHeight + 'px';
|
||||
}
|
||||
|
||||
if (messageTextarea) {
|
||||
// Définir une hauteur minimale
|
||||
messageTextarea.style.height = '120px';
|
||||
|
||||
// Ajouter les événements pour l'auto-resize
|
||||
messageTextarea.addEventListener('input', autoResize);
|
||||
|
||||
// Gestion du compteur de caractères
|
||||
messageTextarea.addEventListener('input', function() {
|
||||
charCount.textContent = this.value.length;
|
||||
});
|
||||
}
|
||||
|
||||
// Form validation and submission via Email.js
|
||||
const contactForm = document.getElementById('contactForm');
|
||||
|
||||
if (contactForm) {
|
||||
contactForm.addEventListener('submit', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
if (this.checkValidity()) {
|
||||
const submitBtn = this.querySelector('button[type="submit"]');
|
||||
submitBtn.classList.add('sending');
|
||||
|
||||
emailjs.init("pBMgXiG4tpfVkCxhY");
|
||||
|
||||
const templateParams = {
|
||||
name: document.getElementById('name').value,
|
||||
email: document.getElementById('email').value,
|
||||
subject: document.getElementById('subject').value,
|
||||
message: document.getElementById('message').value
|
||||
};
|
||||
|
||||
emailjs.send('service_s1wv65t', 'template_391zlnl', templateParams)
|
||||
.then(function(response) {
|
||||
alert('Message sent successfully!');
|
||||
contactForm.reset();
|
||||
charCount.textContent = '0';
|
||||
submitBtn.classList.remove('sending');
|
||||
}, function(error) {
|
||||
alert('An error occurred. Please try again.');
|
||||
submitBtn.classList.remove('sending');
|
||||
console.error('Error:', error);
|
||||
});
|
||||
}
|
||||
// Afficher l'indicateur de chargement
|
||||
const submitBtn = this.querySelector('button[type="submit"]');
|
||||
submitBtn.disabled = true;
|
||||
submitBtn.innerHTML = '<span class="btn-text">Envoi en cours...</span>';
|
||||
|
||||
// Modification des paramètres pour correspondre au template
|
||||
const templateParams = {
|
||||
from_name: document.getElementById('name').value,
|
||||
reply_to: document.getElementById('email').value,
|
||||
subject: document.getElementById('subject').value,
|
||||
message: document.getElementById('message').value
|
||||
};
|
||||
|
||||
// Envoi de l'email
|
||||
emailjs.send('service_bjrqu1q', 'template_391zlnl', templateParams)
|
||||
.then(function() {
|
||||
alert('Message envoyé avec succès !');
|
||||
contactForm.reset();
|
||||
charCount.textContent = '0';
|
||||
})
|
||||
.catch(function(error) {
|
||||
console.error('Erreur:', error);
|
||||
alert('Une erreur est survenue. Veuillez réessayer.');
|
||||
})
|
||||
.finally(function() {
|
||||
submitBtn.disabled = false;
|
||||
submitBtn.innerHTML = '<span class="btn-text">Envoyer</span><span class="btn-icon">📨</span>';
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
Loading…
Reference in new issue