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

[Javascript] Calculate knop doet het pas tweede keer

Pagina: 1
Acties:

  • sdk1985
  • Registratie: Januari 2005
  • Laatst online: 22-11 17:41
Hallo allemaal :+ .

Ik heb een aantal positieve reacties op een recente post (+3) ontvangen... Maar tegelijkertijd de opmerking dat het handig zou zijn voor andere systemen een soortgelijke berekening te maken.

Ik heb vervolgens in Excel een aantal formules opgesteld die inzicht geven in het stroomverbruik aan de hand van 5 inputs (load, idle, prijs, uren, enz). Nu is Excel op internet totaal niet handig en heb ik dus een poging gedaan dit om te zetten naar javascript. Mijn (hobby) script ervaring is helaas beperkt tot visual basic (excel macro's enz.) dus ik heb een goed voorbeeld omgebouwd.

Voorbeeld:
http://www.javascriptkit.com/script/cut141.shtml

Alles ging redelijk behalve het feit dat ik een deel niet snap:
code:
1
2
3
4
function SetmyDistance(dis)
{
myDistance = dis.value;
}

dis komt namelijk nergens terug... Zonder deze code leek het script echter ook te werken, ik had het eerst weggelaten, nu een random poging met abcd als variabele.

Het script werkt redelijk (hij is accuraat), echter er moet twee maal op calculate worden gedrukt...

Test versie: http://goo.gl/5Y3RQ9

Iemand die de fout spot?

[ Voor 5% gewijzigd door sdk1985 op 21-11-2013 20:23 ]

Hostdeko webhosting: Sneller dan de concurrentie, CO2 neutraal en klantgericht.


  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Gokje, maar je begint je script met
code:
1
2
3
4
5
dayload = Hourload / 7;
dayidle = Houridle - dayload;

Hourload = form.Hourload.value;
Houridle = form.Houridle.value;

Als je regel 1&2 omdraait met 3&4, dan vermoed ik dat het beter werkt.

[ Voor 3% gewijzigd door KabouterSuper op 21-11-2013 20:26 ]

When life gives you lemons, start a battery factory


  • sdk1985
  • Registratie: Januari 2005
  • Laatst online: 22-11 17:41
Ok dat is wel heel stom inderdaad :|. Dat lost het probleem op... Super bedankt! :+

Paar nieuwe vragen dan maar...

1) Wat is een handige editor? Deed het nu in dreamweaver met een Split+Live optie maar dan is het erg onoverzichtelijk allemaal.

2) Welke code moet ONCHANGE="SetHourload(this)" krijgen om het te laten werken? Dan kan ik later die hele calculate knop weg laten.

[ Voor 39% gewijzigd door sdk1985 op 21-11-2013 20:36 ]

Hostdeko webhosting: Sneller dan de concurrentie, CO2 neutraal en klantgericht.


  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Ik zou er in elk geval een aparte javascript file van maken. Er zijn veel editors, maar ik gebruik vrij vaak nog gewoon notepad.

When life gives you lemons, start a battery factory


  • Miyamoto
  • Registratie: Februari 2009
  • Laatst online: 15:38
Editor of IDE?
Volgens mij is Brackets hier in een ander topic geopperd, geen ervaring mee.

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 30-10 12:53

Douweegbertje

Wat kinderachtig.. godverdomme

sdk1985 schreef op donderdag 21 november 2013 @ 20:34:
Ok dat is wel heel stom inderdaad :|. Dat lost het probleem op... Super bedankt! :+

Paar nieuwe vragen dan maar...

1) Wat is een handige editor? Deed het nu in dreamweaver met een Split+Live optie maar dan is het erg onoverzichtelijk allemaal.

2) Welke code moet ONCHANGE="SetHourload(this)" krijgen om het te laten werken? Dan kan ik later die hele calculate knop weg laten.
1; hangt er vanaf. Welke taal?
Voor een beetje HTML + JS zijn alle basis editors meer dan genoeg zoals notepad++. Wil je iets meer dan kun je kijken naar bijv. SublimeText, echter is dit (imo) meer handiger als je er vaker mee werkt. Naar mijn mening kun je dat meer aanpassen t.o.v. notepad++
Naar een IDE hoef je absoluut niet te kijken voor een beetje html/php/js tenzij je gaat werken met wat grotere projecten en/of frameworks e.d.

2;

Nou, je moet gewoon even je situatie schetsen. Wat heb je, wat wil je, en wat moet er gebeuren.

Het makkelijkste is om even wat 'functies' te maken. Ten eerste heb je 5 waardes, die kunnen veranderen. In feite moet je dan gewoon zorgen dat elk van deze waardes een functie aanroept die een hercalculatie uitvoert. Uit deze functie kan je bijv. iets aan roepen wat alle 5 de waardes pakt, en vervolgens gooi je dit in een functie die even berekend wat de kosten zijn en één ander voor het voordeel. Als laatste gooi je het in één die alle values in de juiste velden zet.

Zo hou je het overzichtelijk, dynamisch en zit alles structureel goed zodat je niet eerst B doet ipv A (zoals je nu deed)

  • sdk1985
  • Registratie: Januari 2005
  • Laatst online: 22-11 17:41
Bedankt voor de reacties.

In Excel heb je altijd de mogelijkheid om je Macro stap voor stap uit te voeren en dan de waardes te inspecteren. Op die manier heb ik relatief snel door wat er mis gaat. Nu was ik uren bezig met willekeurige verbeteringen tot het lukte.

Lijkt er op dat zowel Brackets als Webstorm voldoen dus bedankt daar voor. Notepad +++ lijkt erg op CoffeeCup Free HTML editor die ik nu gebruikte :P.


Mbt die onchange functies. Ik ga toch maar afzien van die feature. Het voegt niet zo veel toe voor de user. Een bereken knop lijkt me duidelijker.

Blijven dan twee dingen over:
A: Ik zou wel graag alle output variabelen afronden. Het zijn er alleen 18 dus de standaard manier lijkt me niet zo handig (google> http://www.javascriptkit.com/javatutors/round.shtml ).

B: Het zou ook handiger zijn om ze direct naar de tabel te schrijven in plaats van input boxjes als output te gebruiken. Is document.write hier voor geschikt? Was me zo 1 2 3 niet duidelijk hoe dit vertaalt binnen een tabel (die buiten het script valt). Zou wellicht de hele tabel kunnen laten printen maar vooralsnog deed document.write überhaupt niets :+ .

[ Voor 4% gewijzigd door sdk1985 op 21-11-2013 21:20 ]

Hostdeko webhosting: Sneller dan de concurrentie, CO2 neutraal en klantgericht.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waar hoort mijn topic?
PRG >> WEB
sdk1985 schreef op donderdag 21 november 2013 @ 21:18:
In Excel heb je altijd de mogelijkheid om je Macro stap voor stap uit te voeren en dan de waardes te inspecteren. Op die manier heb ik relatief snel door wat er mis gaat. Nu was ik uren bezig met willekeurige verbeteringen tot het lukte.
Bij gebrek aan een fatsoenlijke debugger (die in zowat elke browser tegenwoordig wel aanwezig is) kun je ook met een paar welgemikte console.logs o.i.d. stap-voor-stap nagaan wat er gebeurt en zo "inzoomen" op 't probleem(gebied). Zie ook Debuggen: Hoe doe ik dat? en Firefox Firebug of Dev.tools / IE F12 Dev.tools / Chrome Dev.tools / Safari Dev.tools / Opera Dragonfly.
sdk1985 schreef op donderdag 21 november 2013 @ 21:18:
Blijven dan twee dingen over:
A: Ik zou wel graag alle output variabelen afronden. Het zijn er alleen 18 dus de standaard manier lijkt me niet zo handig (google> http://www.javascriptkit.com/javatutors/round.shtml ).
Blijf alsjeblieft uit de buurt van dit soort sites waar meuk uit '95 nog op staat. Gebruik iets als toFixed(). En waarom zou 18 problematisch zijn :?
sdk1985 schreef op donderdag 21 november 2013 @ 21:18:
B: Het zou ook handiger zijn om ze direct naar de tabel te schrijven in plaats van input boxjes als output te gebruiken. Is document.write hier voor geschikt?
Nee. Daar hebben we DOM manipulatie voor uitgevonden. En zo te zien gebruikt die pagina al mootools dus waarom maak je daar geen gebruik van?

[ Voor 114% gewijzigd door RobIII op 21-11-2013 21:30 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1