Utvikler cookbook

4.19. Påmelding til kalenderarrangement

Bakgrunn

I kalender så kan et arrangement ha aktivert påmelding. Da kan brukere melde seg på et arrangement. I malverket for detaljvisning av et arrangement må man legge til et skjema.

Her vil du lære i korte trekk hvordan et skjema kan/bør settes opp. Det er noen "påkrevde" felter for en vellykket påmelding:

id Arrangementets ID
name Navn på deltager (brukes i e-postutendelsen av kvittering/påmelding)
email Epost-adressen til deltager
ui Deteksjon av spam-bot

Andre felter

Man kan også legge til flere felter som sendes inn sammen med påmelding. Disse vil bli lagret sammen med påmeldingen og kan hentes ut via arrangementet i kalendermodulen. F.eks. telefonnummer, firmanavn etc. etc.

Eksempel på JS

$('form.signup').submit(function(e) {
	e.preventDefault;

	var eventId = $("input#signUpEventId").val();
	var email = $('input#signUpEventEmail').val();
	var name = $('input#signUpEventName').val();

	// Her bør det inn en validering av f.eks. e-post

	dataObj = {
		'eventSignUp[eventId]' 	: eventId,
		'eventSignUp[email]'   	: email,
		'eventSignUp[ui]'		: 1, // Ikke anbefalt å hardkode denne til 1
		'eventSignUp[name]'		: name
	};

	$.ajax({
		url: "/caleventsignup/",
		type: "GET",
		dataType:'json',
		data: dataObj,
		error: function(jqXHR, textStatus, errorThrown) {
			alert('Noe gikk galt ... '); // Dump data til console.log for å se tilbakemeldinger
		},
		success: function(data, textStatus, jqXHR) {
			alert('Du er påmeldt'); // Dump data til console.log for å se tilbakemeldinger
		}
	});

});

 

SPAM-BOT

I eksempelet er UI hardkodet til verdien 1 (true). Hvis denne verdien er 0 (false) så vil ikke påmeldingen fullføres. Bruke javascript til å detektere enten klikk, musebevegelse eller andre metoder for å identifisere at bruker er et menneske og ikke en spam-bot.

Validering av felter

jQuery Validation Plugin er et enkelt script å bruke for å validere felter før man sender inn skjemaet http://jqueryvalidation.org/ 

Eksempel på JS ved bruk av jQuery Valudation Plugin

$('form.signup').validate({
	submitHandler: function(form) {

		var  eventId = $("input#signUpEventId").val();
		var email = $('input#signUpEventEmail').val();
		var name = $('input#signUpEventName').val();

		dataObj = {
			'eventSignUp[eventId]' 	: eventId,
			'eventSignUp[email]'   	: email,
			'eventSignUp[ui]'		: 1, // Ikke anbefalt å hardkode denne til 1
			'eventSignUp[name]'		: name
		};

		$.ajax({
			url: "/caleventsignup/",
			type: "GET",
			dataType:'json',
			data: dataObj,
			error: function(jqXHR, textStatus, errorThrown) {
				alert('Noe gikk galt ... '); // Dump data til console.log for å se tilbakemeldinger
			},
			success: function(data, textStatus, jqXHR) {
				alert('Du er påmeldt'); // Dump data til console.log for å se tilbakemeldinger
			}
		});

	}
});

15.09.14

Hjelp / support

Jeg finner ikke det jeg leter etter

Vår dokumentasjon er stadig under utvikling. Vi endrer og legger til nye kapitler og bøker etter hvert som EasyPublish CMS endrer og vokser. Skulle du likevel ikke finne det du leter etter så ta kontakt med oss via support@escio.no.

Jeg har funnet en feil

Hvis du har funnet en feil i vår dokumentasjon så ønsker vi å rette på den. Send oss et hint til support@escio.no.

Translate

You can translate this documentation by using Google Translate. Select your language:

×