function escape(s) { return s.toString() .replace(/&/g, "&") .replace(//g, ">"); } $('.membership-form').each(function() { var container = $(this); container.html('

Mitgliedschaftsformular

' + '

' + '

' + '

' + '

' + '

' + '

' + '

' + '

' + '

' + '

' + '

' + '

' + '

' + '

' + '

' + '

Antrag generieren und dann an vorstand@c3d2.de senden, am besten signiert!

' ); function getText(id) { return container.find('#' + id).val(); } function isChecked(id) { return container.find('#' + id).prop('checked'); } function generateXml() { var xml = '\n ' + escape(getText('email')) + '\n'; var pgp = getText('pgp'); if (pgp) xml += ' ' + escape(getText('pgp')) + '\n'; if (isChecked('neumitglied')) { var rate = isChecked('ordentlich') ? 42 : isChecked('reduziert') ? 13.37 : 0; xml += ' \n'; } var note = getText('note'); if (note) xml += ' ' + escape(note) + '\n'; var dtg = getText('dtg'); if (dtg) xml += ' ' + escape(dtg) + '\n'; xml += ''; // console.log('xml: ' + xml); return xml; } function update() { if (isChecked('neumitglied')) { container.find('.neumitglied').show(); } else { container.find('.neumitglied').hide(); } if (!getText('dtg')) { var d = new Date(); d.setHours(23); d.setDate(1); var s = d.toISOString().replace(/T.+/, ""); container.find('#dtg').val(s); } var xmlUri = 'data:application/xml;charset=utf-8,' + encodeURIComponent(generateXml()); container.find('#ok').attr('href', xmlUri); } container.find('input').on('change', update); container.find('textarea').on('change', update); update(); });