JavaScript-tiedosto, jolla päivitetään MyCashflow'n yhden sivun kassan osat AJAX-pyynnöillä.

Tämä sivu koskee MyCashflow'n vanhaa oletusteemaa. Uudessa oletusteemassa on käytössä checkout.js-plugin, joka hoitaa yhden sivun kassan osien päivittämisen.

Voit ladata pluginin omaan teemaasi Githubista.

Pluginin käyttö MyCashflow'n oletusteemassa

Plugin lähettää lomakkeen seuraavissa tilanteissa:

  1. Kun käyttäjä on muuttanut jotain lomakkeella ja fokus siirtyy pois lomakkeen osasta (esimerkiksi asiakastietoja on muokattu ja käyttäjä siirtyy muokkaamaan toimitusosoitetta tai klikkaa muuten lomakkeen ulkopuolelle).
  2. Kun käyttäjä ei ole muokannut lomaketta vähään aikaan.
  3. Kun toimitusmaata muutetaan asiakastiedoissa tai toimitusosoitteessa.
  4. Kun toimitus- tai maksutapaa muutetaan.

Mikäli tietojen tarkastuksessa ei ole virheitä, tiedot tallentuvat asiakkaan ostoskoriin.

Parametrit

Pluginin toimintaa on mahdollista ohjata seuraavien parametrien avulla:

tagname: string

Määrittää lähetettävän tagin nimen, jonka pohjalta määritellään muita oletusasetuksia (esim. riippuvuuksia).

Sallitut arvot:

  • 'auto': Tagin nimi luetaan piilotetusta inputista. Yleensä auto on paras vaihtoehto.
  • Tagin nimi: Vaihtoehtoisesti voit itse määrittää lähetettävän tagin nimen.
dependencies: string / array

Määrittää mitkä muut kassan tagit ovat riippuvaisia lähetettävästä datasta ja vaativat päivitystä.

Sallitut arvot:

  • 'auto': Päivitettävät osiot määritellään automaattisesti päivitetyn tagin perusteella.
  • Yksittäisen tagin nimi: Yksittäisen riippuvuuden voit määrittää antamalla tagin nimen merkkijonona: "CheckoutShippingMethods"
  • Useamman tagin nimi: Jos haluat määrittää useita riippuvuuksia, anna tagien nimet array-muodossa: ["CheckoutShippingMethods", "CheckoutPaymentMethods"]
return_self: string / boolean

Määrittää halutaanko HTML palauttaa POST-kutsulta takaisin lähetettävälle elementille.

Sallitut arvot:

  • 'auto': Päätetään automaattisesti päivitetyn tiedon perusteella, tarvitseeko HTML-sisältöä palauttaa.
  • true/false: Parametrin arvoksi kannatta asettaa false esimerkiksi silloin kun lähetetään maksu- ja toimitustapoja, joiden lomakkeille harvoin täytyy palauttaa virheitä.
response_type: string

Määrittää halutaanko AJAX-pyyntöjen ilmoitukset takaisin HTML-merkkauksen kanssa vai JSON-objektissa ilman valmista merkkausta.

Sallitut arvot:

  • 'json': Palautettavan JSON-objektin muoto on seuraava:
    {
        "content": MERKKAUS,
        "notifications": ILMOITUKSET
    }
  • 'html': Usein helpoin vaihtoehto, koska tällöin ilmoituksia ei tarvitse erikseen kirjoittaa minnekään.
post_start:function(el, from_event, verbose, jqXHR, settings)

Määrittää callback-funktion, jota kutsutaan ennen kuin lomake lähetetään.

Tässä kohdassa voit vielä estää lomakkeen lähettämisen palauttamalla fuktiolta falsen. Tässä kohdassa on hyvä esimerkiksi asettaa latausindikaattori näkyville.

Funktiolla on seuraavat parametrit:

el:

jQuery-elementti johon pluginin instanssi on liitetty

from_event:
Tapahtuma joka käynnisti lomakkeen lähetyksen. Sallitut arvot:
  • 'keyup'
  • 'change'
  • 'focusout'
verbose:

Määrittää, palautetaanko HTML POST-kutsulta takaisin elementille. Palautus määräytyy sen pohjalta onko lomakkeen sisällä focus, sekä pluginin return_self-parametrin arvosta.

Sallitut arvot: true/false

textStatus, jqXHR:

jQuery AJAX eventin tapahtumat: http://api.jquery.com/jQuery.ajax/

post_success: function(el, response, verbose, textStatus, jqXHR)

Funktio jota kutsutaan, kun lomakkeen tiedot on lähetetty.

Funktiolla on seuraavat parametrit:

el:

jQuery-elementti johon pluginin instanssi on liitetty

response: json / html

POST-pyynnön palauttama JSON-objekti tai HTML-merkkaus

verbose:

Määrittää, palautetaanko HTML POST-kutsulta takaisin elementille. Palautus määräytyy sen pohjalta onko lomakkeen sisällä focus, sekä pluginin return_self-parametrin arvosta.

Sallitut arvot: true/false

textStatus, jqXHR:

jQuery AJAX eventin tapahtumat: http://api.jquery.com/jQuery.ajax/

get_start: function(el, jqXHR, settings)

Funktio jota kutsutaan, kun yksittäisen POST-pyynnöstä riippuvaisen elementin hakeminen aloitetaan.

Funktiolla on seuraavat parametrit:

el:

jQuery-elementti johon pluginin instanssi on liitetty

jqXHR, settings:

jQuery AJAX eventin tapahtumat: http://api.jquery.com/jQuery.ajax/

get_success: function(el, response, textStatus, jqXHR)

Funktio jota kutsutaan, kun yksittäisen POST-pyynnöstä riippuvaisen elementin hakeminen on valmis.

el:

jQuery-elementti johon pluginin instanssi on liitetty

response:

POST-pyynnön palauttama JSON-objekti tai HTML-merkkaus

textStatus, jqXHR:

jQuery AJAX eventin tapahtumat: http://api.jquery.com/jQuery.ajax/

complete: function(el)

Funktio jota kutsutaan kun kaikki kassojen AJAX-pyynnöt ovat valmistuneet. Tässä vaiheessa on hyvä piilottaa mahdolliset latausindikaattorit.

el:

jQuery-elementti johon pluginin instanssi on liitetty