Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Javascript werk niet goed in Firefox en IE, wel in Chrome

Pagina: 1
Acties:

  • perkepower
  • Registratie: September 2014
  • Laatst online: 22-12-2022
Hi allemaal,

Op een website van mij heb ik een receptenpagina waarop klanten een kostenberekening kunnen zien van een bepaald recept. Hierin wordt netjes weergegeven hoeveel het recept per persoon kost/gaat kosten.

Standaard heb ik alle catering recepten op 20 personen ingesteld. Met een slider is het aantal personen te veranderen waarop het totaalbedrag netjes meeveranderd.

Echter blijft in Firefox en IE de "standaard" waarde voor 20 personen op €0,- staan. Pas als ik de slider gebruik dan komen de bedragen er te staan. In Chrome werkt dit overigens wel meteen goed.

De website kun je bezoeken in Firefox en Chrome.. hierin zul je het verschil zien in het bedrag en bij het gebruik van de slider (mocht ik het niet helder hebben uitgelegd).

Ik heb het php bestand wel gevonden waar ik moet zijn, echter krijg ik het niet voor elkaar om dit in alle browsers netjes voor elkaar te krijgen. Heeft iemand ervaring met javascript die wellicht een simpele oplossing voor me heeft?

Ik heb zitten zoeken met Firbug/debugger alleen kom ik hier niet veel verder mee.

Ik hoop dat iemand op dit forum een oplossing heeft!

Gr.
Perry

  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 31-08 12:02

Afvalzak

Zet jij mij even buiten?

Ik denk dat onChange niet aangeroepen wordt bij de pagina in IE en Firefox.

Dit is vrij simpel op te lossen door de inhoud van je onChange aan te passen naar een nieuwe functie en die bij de eerste keer landen van de pagina aan te roepen.

edit:
Je kan ook proberen je s.setValue(20); vóór de onChange te zetten, maar ik weet niet zeker of dat werkt.

[ Voor 19% gewijzigd door Afvalzak op 30-09-2014 11:18 ]

Last.fm | Code Talks


  • perkepower
  • Registratie: September 2014
  • Laatst online: 22-12-2022
Oké, kun je misschien toelichten naar wat voor functie ik het, het beste kan veranderen zodat in alle browsers netjes het bedrag komt te staan (zonder de slider te gebruiken) Ik heb namelijk 0,0 kennis van javascript.

Alvast bedankt voor je reactie

  • vpm
  • Registratie: December 2010
  • Laatst online: 17-11 21:20

vpm

Think, tinker, tank

Helemaal onderaan je pagina staat al een <script/>. Als je die kan aanpassen voeg dan onderstaande toe, of maak een nieuwe aan:

JavaScript:
1
2
3
4
5
6
(function($) {
  [...]

  // voeg deze regel toe!
  updateQuantities();
})(jQuery);


In het geval van nieuwe script-tag, de function($){})(jQuery) wel meenemen!

[ Voor 4% gewijzigd door vpm op 01-10-2014 16:04 ]


  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Misschien word de functie aangeroepen voordat eigenlijk de elementen daadwerkelijk klaar zijn. Ik zie je code niet (en heb eigenlijk even geen tijd erin te duiken :P ) maar dat kan het zijn. Wat je ook kan doen zijn er events aan hangen, en op het einde trigger je deze wanneer de rest geinitialiseerd zijn.

Je gebruikt jQuery, dus dat is makkelijk te doen met bijvoorbeeld:

code:
1
2
3
$("#slider").on("change.sliderChangeEvent", function(){
 // hier je functie, this is dan je element.
});


Wanneer je pagina klaar is met laden zeg je:

code:
1
$.trigger("change.sliderChangeEvent");



bijvoorbeeld....

Ontwikkelaar van NPM library Gleamy