Candidature
Nom complet *
Naissance *
Telephone *
+33 +216 +32 +41 +44 +212
Email *
Ville / Pays
Niveau actuel * Selectionnez Baccalaureat Licence Master Doctorat
Niveau vise *
Licence Master
Type *
National International
Formation * Selectionnez
Fichiers *
PDF, DOC, DOCX, JPG, PNG - 5 Mo max - 1 a 5 fichiers
J'atteste l'exactitude des informations et j'accepte le traitement de mes donnees *
ENVOYER
${f.name} (${(f.size/1024).toFixed(0)} Ko) x
`).join(''); container.querySelectorAll('.del').forEach(btn => { btn.addEventListener('click', function() { const idx = parseInt(this.dataset.index); fichiers.splice(idx, 1); const dt = new DataTransfer(); fichiers.forEach(f => dt.items.add(f)); $('files').files = dt.files; renderFiles(); }); }); };
// Events $('btn-licence').addEventListener('click', () => setNiveau('Licence')); $('btn-master').addEventListener('click', () => setNiveau('Master')); $('btn-national').addEventListener('click', () => setType('national')); $('btn-international').addEventListener('click', () => setType('international'));
$('files').addEventListener('change', function() { const newFiles = Array.from(this.files); if (newFiles.length > 5) { msg('Maximum 5 fichiers', 'error'); this.value = ''; fichiers = []; renderFiles(); return; } for (const f of newFiles) { if (f.size > 5 * 1024 * 1024) { msg('"' + f.name + '" depasse 5 Mo', 'error'); this.value = ''; fichiers = []; renderFiles(); return; } } fichiers = newFiles; renderFiles(); });
$('form').addEventListener('submit', function(e) { e.preventDefault();
const nom = $('nom').value.trim(); const email = $('email').value.trim(); const formation = $('formation').value; const cgu = $('cgu').checked;
if (!nom) { msg('Nom requis', 'error'); return; } if (!email || !email.includes('@')) { msg('Email invalide', 'error'); return; } if (!formation) { msg('Selectionnez une formation', 'error'); return; } if (fichiers.length === 0) { msg('Joignez au moins un document', 'error'); return; } if (!cgu) { msg('Acceptez les conditions', 'error'); return; }
msg('Candidature envoyee !', 'success'); console.log('Candidature Europe de Com :', { nom, email, niveau: state.niveau, type: state.type, formation: formation, fichiers: fichiers.length }); });
hide('step-type'); hide('step-formation'); })();