express/public/javascripts/mail.js
// This function outputs the results in the DOM
This function outputs the results in the DOM
This function outputs the results in the DOM
function notifyContactForm(responses, form){
	var resultMessages = {
		success: 'Votre message a été envoyé, merci.',
		invalidEmail: 'Erreur&nbsp;: Veuillez entrer une adresse email valide.',
		missingFields: 'Erreur&nbsp;: Des champs requis n\'ont pas été remplis.',
		invalidCharacters: 'Erreur&nbsp;: L’email contient des caractères invalides.',
		failure: 'Erreur&nbsp;: Votre message n’a pas pu être envoyé, veuillez réessayer plus tard.'
	};
	var resultBox = form.querySelector('.result-box');
	var fields = form.querySelectorAll('input, textarea');
	fields = [].slice.call(fields, 1);
	resultBox.innerHTML = '';
	console.log(responses);
	responses.forEach(function(response){
		var newMessage = document.createElement('p');
		newMessage.innerHTML = resultMessages[response];
		addClass(newMessage, 'result-message');
		if(response === 'missingFields' || response === 'invalidEmail' || response === 'invalidCharacters')
			addClass(newMessage, 'error');
		else
			addClass(newMessage, response);
		resultBox.appendChild(newMessage);
		if (response === 'missingFields') {
			forEachNl(fields, function(field){
				if (field.value === '' && !hasClass(field.parentNode, 'optionnal')) {
					addClass(field.parentNode, 'invalid');
				} else {
					removeClass(field.parentNode, 'invalid');
				}
			});
		} else if (response === 'invalidEmail' || response === 'invalidCharacters') {
			addClass(form.querySelector('.email'), 'invalid');
		} else {
			forEachNl(fields, function(field){
				removeClass(field.parentNode, 'invalid');
				if(response === 'success') {
					field.value = '';
					field.focus();
					field.blur();
				}
			});
		}
	});
}
function notifyContactForm ( responses , form ) { var resultMessages = { success : 'Votre message a été envoyé, merci.', invalidEmail : 'Erreur&nbsp;: Veuillez entrer une adresse email valide.' , missingFields : 'Erreur&nbsp;: Des champs requis n\'ont pas été remplis.', invalidCharacters : 'Erreur&nbsp;: L’email contient des caractères invalides.', failure : 'Erreur&nbsp;: Votre message n’a pas pu être envoyé, veuillez réessayer plus tard.' } ; var resultBox = form . querySelector ( '.result-box' ) ; var fields = form . querySelectorAll ( 'input, textarea' ) ; fields = [ ] . slice . call ( fields , 1 ) ; resultBox . innerHTML = '' ; console . log ( responses ) ; responses . forEach ( function ( response ) { var newMessage = document . createElement ( 'p' ) ; newMessage . innerHTML = resultMessages [ response ] ; addClass ( newMessage , 'result-message' ) ; if ( response === 'missingFields' || response === 'invalidEmail' || response === 'invalidCharacters' ) addClass ( newMessage , 'error' ) ; else addClass ( newMessage , response ) ; resultBox . appendChild ( newMessage ) ; if ( response === 'missingFields' ) { forEachNl ( fields , function ( field ) { if ( field . value === '' && ! hasClass ( field . parentNode , 'optionnal' ) ) { addClass ( field . parentNode , 'invalid' ) ; } else { removeClass ( field . parentNode , 'invalid' ) ; } } ) ; } else if ( response === 'invalidEmail' || response === 'invalidCharacters' ) { addClass ( form . querySelector ( '.email' ) , 'invalid' ) ; } else { forEachNl ( fields , function ( field ) { removeClass ( field . parentNode , 'invalid' ) ; if ( response === 'success' ) { field . value = '' ; field . focus ( ) ; field . blur ( ) ; } } ) ; } } ) ; }
This function outputs the results in the DOM
This function outputs the results in the DOM