// anmeldung.js rxf 2020-10.12 // Dynamik für die Anmelde-Seite // $(document).ready(() => { const ajaxURL="../DB4js.php"; const maxPersonen = 10; const dummyTln = { name:"Zuname{z}", vorname:"", email:"rxf{z}@gmx.de", telefon:"0711123456789", plz:"12345", stadt:"Ort{z}", strasse:"Straße {z}", fid: "", anzahl:1, teilgenommen: 0, remarks:"Bemerkung Nr {z}", abgesagt: 0, angemeldet: moment().format("YYYY-MM-DD") }; let aktualTln = { name:"", vorname:"", email:"", telefon:"", plz:"", stadt:"", strasse:"", fid: "", anzahl:1, teilgenommen: 0, remarks:"", abgesagt: 0, angemeldet: "" }; const mandatory = { name:true, vorname:false, email:true, telefon:false, plz:true, stadt:true, strasse:true, fid: false, anzahl:false, teilgenommen: false, remarks:false, abgesagt: false, angemeldet: true }; let allParticipants = []; let errtext = ""; // Von der Datenbank Werte abholen // Param: // body: Object mit cmd und param // Return: // angeforderte Daten als JSON const fetchFromDbase = async (body) => { const response = await fetch(ajaxURL,{ method: 'POST', headers: {'Content-Type': 'application/js'}, body: JSON.stringify(body) }); return await response.json(); } // In die Datenbank Werte eintragen // Param: // body: Object mit cmd und param // Return: // angeforderte Daten als JSON const putToDbase = async (body) => { const response = await fetch(ajaxURL,{ method: 'POST', headers: {'Content-Type': 'application/js'}, body: JSON.stringify(body) }); return await response.json(); } // Beim Senden der Anmeldeseite die Nummer der Führung mit schicken $('form').submit((event) => { let nr = $('#ftermin').find(':selected'); console.log('nr: ', nr[0].value); $('#fid').val(nr[0].value); }); // zum Testen die Anmelde-Seite automatisch ausfüllen $('#autofillbutton').click(() => { let rand = Math.floor(Math.random() * 100); for (let f in dummyTln) { if (f=='fid') { continue; } let x = dummyTln[f].toString(); aktualTln[f] = x.replace("{z}",rand); $('#'+f).val(x.replace("{z}",rand)); } }); // Aus dem rohen Führungsdatum von der Datenbank ein besser // leserliches Format erzeugen // Params: // w -> Wocjentag // d -> Datum in DBase-Format // t -> Uhrzeit // Return // neu formatierter Datums-String const bauDate = (w,d,t) => { let dd = d.replace(/^(\d{4})(\d{2})(\d{2})$/, '$3.$2.$1',); return w.substr(0,2) + ', ' + dd + ' ' + t; } // Aus der Datenbank die nächsten 'n' Führungsdaten holen und // in den