Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Sessionin vajaatoimisuus

pistemies [02.12.2018 21:49:43]

#

Moi. Olen tekemässä verkkokauppa laajennusta, uudistan kassan rakennetta hiukan selkeämmäksi. Olen joutunut kohtalaisesti muuttamaan jQueryn rakennetta, esim. kirjautumattoman käyttäjän lomake tulostetaan jquery-taulukossa, koska siinä muuttuu lomakekenttien kohdalla vain muutama sana, html-rakenne on pääsosin sama.
Olen kuitenkin törmännyt outoon asiaan, kenties siihen vaikuttaa minun jonkilainen bugi. Välillä kassa toimii ja välillä ei. Session, jotka näyttävät välillä katoavan, on 'payment_methods'. Myös 'payment_address' session katosi kotikoneella. Ehkä jokin muukin session katosi välillä, koska se käänsi sivun välillä takaisin alkuun vaiheessa, jossa olisi pitänyt avautua viimeistely-sivu.

pistemies [03.12.2018 11:22:28]

#

Ps. Sain tuo Sessionia ainakin toistaiseksi toimimaan. Mutta on tässä muuta mietittävää.
Miten voin kätevästi tutkia, että kaikki lomakkeen pakolliset kentät on täytetty?
Kentttien tutkiminen hoituu hiukan eri tavalla, kun lomake on luotu jQueryllä.
Nyt tämä lähettää lomakkeen postauksen automaattisesti ja ilmoittaa, jos pakollinen kenttä on täyttämättä. Nämä tiedot siis tulostetaan kesken lomakkeen täytön.
Hankalaksi tässä on osoittautunut jQueryllä tehdyn lomakkeen value-attribuutin tutkimisen.
Hiukan täytyy muuttaa verkkokaupan omaa tarkistusta koskien zone_id:tä, se etsii peläkstään kentän olemassaolon, ei sitä, onko kenttä täytetty. Nyt siinä alkuun on tyhä -- Please Select -- kenttä, jonka verkkokaupan skripti näyttäisi hyväksyvän.

Ps. Saimpa tuon lomakkeen tarkistuksen jotenkin toimimaan. Asiaa helpotti tekemällä vain yksi tarkistus each-funktiolla ja lisäämällä oikeaan kohtiin skriptiä tiettyjen elementtien hide/show toiminnon.

pistemies [04.12.2018 23:20:53]

#

Vaikuttaa siltä, että täällä on väki vähentynyt sitten vuoden 2008 :)

Yrittelen tehdä tähän uuteen teemaan ominaisuutta, jossa käyttäjän maa valitaan automaattisesti käyttäen selaimen tietoja ja ISO 2 maa-koodeja.
Ongelmaksi on muodostunut se, miten muuttaa jqueryllä tehtyjä elementtejä kuten country-id lomaketta.
Nyt tämä lyhyt skripti on tällainen:

var lang = navigator.language;
var code = lang.toUpperCase();
var country = 0;

$(document).ready( function() {
 $.ajax({
  url: 'index.php?route=checkout/checkout/language&code=' + code,
  type: 'get',
  success: function(country){
      $('#county' + country).attr({'selected':'selected'});
  },
  error: function(xhr, ajaxOptions, thrownError) {
     alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  }
});

Kuten skriptistä voi arvata, olen select lomakkeen option-elementeille kokeillut asettaa myös id-attribuutin, esim. "country-72", joka tulee silmukassa. Mutta ei tunnista kyseistä elementtiä. Onko kukaan saanut toimimaan tämän tapaista, että muokataan jqueryllä tehtyjä elementtejä?

Ps. Niinhän siinä kävi, että muutin tätä niin, että etsin kävijän maa-koodin PHP:lla ja sitten jquerylla käytän php:lla tulostettua tietoa apuna ja homma hoituu. Tämä puutteena on se, että se ei välttämättä toimi kaikkien selaimien kanssa, mutta siitä ei tule kaiken pysäyttävää ongelmaa.

Metabolix [05.12.2018 07:31:50]

#

Olisiko vika siinä, että tuossa haet esim. #county72 etkä #country-72, siis peräti 2 virhettä näin lyhyessä sanassa?

pistemies [05.12.2018 10:02:47]

#

Kiitos :)
Mukavaa, että nuorilla on vähän paremmat hoksottimet löytämään kirjoitusvirheitä. :)
Sain tämän toimimaan nyt jQueryllä.

Lebe80 [05.12.2018 10:48:22]

#

Kyllä mä uskoisin, että tässä oli ihan taidosta kyse. Kyllä kirjoitusvirheet pitäisi löytyä ihan normaalilla debuggauksella.

pistemies [05.12.2018 11:27:21]

#

Lebe80 kirjoitti:

Kyllä mä uskoisin, että tässä oli ihan taidosta kyse. Kyllä kirjoitusvirheet pitäisi löytyä ihan normaalilla debuggauksella.

Juu, ehkä tämä on osittain pelkkä uskon asia. Pakkaa vaan välillä loppumaan usko, jos tuntuu että ohjelma ei millään toimi ;)
Minä olen jäävi sanomaan, onko kohdallani kysymys taidon puutteesta vai jonkin asteisesta lukihäiriöstä. Tämän jälkimmäisen olen mielestäni itsestäni huomannut toisessa yhteydessä. Paperille painetusta tekstistä voin paljon, paljon helpommin löytää kirjoitusvirheitä kuin tietokoneen ruudulta.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta