Utvikler cookbook

4.20. AJAX-submit av data til skjema i Skjemamodulel

Bakgrunn

I noen tilfeller er kjekt å gjøre POST av data til et skjema i Skjemamodulen via AJAX. Dette gjøres via en såkalt "command" i EP. Kommandoen er «/formsubmit/»

I denne artikkelen vil du lære:

Fremgangsmåte

Eksempel:

function submitForm(form) {

                        // attempt to submit the form
                        $.ajax({
                                url: '/formsubmit/',
                                dataType: 'json',
                                type: 'POST',
                                data: myFormDataObject,
                                success: function(result) {
                                        if(result.success) {
                                                // Success! Do something
                                        }
                                        else {
                                                // Error
                                        }
                                },
                                error: function(jqXHR, textStatus, errorThrown) {
                                        // Error
                                }
                        });
                };

Variabelen myFormDataObject har følgende minimumskrav:

Felter må navngis på følgende måte:

  • field[xxx]: Der xxx byttes ut mot feltets ID

Dersom du prøver å legge til ajax submit på et EP generert skjema (DOM) så kan følgende snippet brukes for å sette riktig myFormDataObject.

...
var myFormDataObject = {
    field: []
};

$.each(el.serializeArray(), function(i, field) {
    if(isNaN(field.name)) {
        myFormDataObject[field.name] = field.value;
    } else {
        myFormDataObject.field[field.name] = field.value;
    }
});
...

Her vil skjema felter bli puttet i et "field" array, slik at disse blir korrekt utf8 tolket i EP. 

Merk: Øvrige felter må matche med felt-id'er i skjema i Skjemamodulen.Det er derfor å foretrekke at opptegning av skjema i DOM skjer ved å dekorere data fra selve skjema.

 

27.10.15

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:

×