30. juli 2007 - 17:05Der er
18 kommentarer og 2 løsninger
Udregning med javascripts
Jeg er forholdsvis ny indenfor javascripts, i hvert fald når det kommer til selv at skulle skrive noget. Jeg er ved at lave en lille udregning fra danske penge til Harry Potter penge. Selve formlen er simpel, og virker ganske fint på min hjemmeside, hvor den er skrevet i php, men nu ønsker jeg den i javascript.
Dette er hvad jeg har lavet indtil videre:
<script language="JavaScript" type="text/javascript"> <!-- function magicalMoney(form) { var kr = mugglemagic.kr.value; if(!isNaN(kr)) { var knuts = (kr * 0.11); var gold = (knuts / 493); var gold = floor(gold); var knuts = (knuts - (gold * 493)); var silver = (knuts / 29); var silver = floor(silver); var knuts = (knuts - (silver * 29));
Problemet er bare, at resultatet ikke kommer ned i formen. Hvis jeg kun udregner antal knut ud fra antal kr, og sletter resten i udregningen, så er der ingen problemer og det vises korrekt. Så snart jeg beder den om at lave resten af udregningen, så giver den fejl.
Jeg er sikker på, at løsningen er nem. Det er garanteret måden jeg angiver fortløbende variabler på der ødelægger det hele, men jeg kan ikke se hvorfor.
Håber der er nogle, der lige har svaret. På forhånd tak.
Wow, så virker det. Syntes eller jeg havde prøvet alt det der igår også. Det må have været kombinationen af Math.floor og parseFloat der gjorde forskellen. Det virker i alt fald nu. Thesurfer og erikjacobsen i bedes lægge svar :)
Synes godt om
Slettet bruger
30. juli 2007 - 17:28#10
Den færdige løsning blev:
<script language="JavaScript" type="text/javascript"> <!-- function magicalMoney(form) { var kr = parseFloat(mugglemagic.kr.value); if(!isNaN(kr)) { var knuts = (kr * 0.11); var gold = (knuts / 493); var gold = Math.floor(gold); var knuts = (knuts - (gold * 493)); var silver = (knuts / 29); var silver = Math.floor(silver); var knuts = (knuts - (silver * 29));
kommer her.. og er enig i et en variabel kun skal erklæres en gang:) var også en del af min rettelse (og var faktisk overrasket over man kunne det andet:) )
Synes godt om
Slettet bruger
30. juli 2007 - 19:51#18
Så man behøver kun at angive at for eksempel gold er en variabel én gang, og derfra kan jeg så lege videre med gold som jeg har lyst til? Kunne være man skulle købe sig en bog om emnet. Alt jeg ved om js (og det er ufatteligt lidt) er noget jeg har læst mig til her på siden. Men jeg takker mange gange for hjælpen. Nu virker det, og så kan jeg jo lege videre med det jeg nu har lært.
yeps.. du erklære variablen en gang og så kan du lege med den efterfølgende uden, at skrive "var" foran det. men ja det forvirrer vel lidt når man i PHP sikkert skriver $ foran variabler hele tiden.
JavaScript er måske lidt et gummi sprog når den tillader så mange forskellige måder at gøre det på.. Personligt erklære jeg altid mine variabler, men mener også den godkender, at man bare skriver et eller andet og gemmer noget over i det - så har man også oprettet en variabel indirekte.
så alt dette vil nok virke..
var something; something = 'test'; -------------- eller -------------- something = 'test; --------------- eller -------------- var something; var something = 'test';
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.