15. februar 2005 - 11:08Der er
3 kommentarer og 1 løsning
Hjælp til if-sætning
Jeg har lidt problemer med en if-sætning, som jeg efter hånden har stirret med blind på. Løsningen er sikkert let, men jeg kan bare ikke se den lige nu.
Jeg har 3 felt, som der skal tjekkes på. Felt 397, 398 og 401. Hvis 397 er udfyldt(ikke med 0) skal de 2 andre felter også være udfyldt. Der skal så komme en alert som sidder hvilket felt der ikke er udfyldt. Mit problem er at siden skal lave nogle beregninger bl.a. på disse felters værdier, men den beregner ikek efter, nok fordi if-sætningen fanger lidt for meget.
Udregningerne er bare nogle matematiske formler, som regner nogle værdier ud på baggrund bl.a. af disse 3 felter.
Nu har jeg rodet noget rundt med den, dog ikke siden jeg skrev dette spørgsmål. Så jeg kan ikke vise de scriptet direkte, men jeg har noget seoudokode, hvis det kan hjælpe.
hvis (felt397 er udfyldt (dog ikke 0) ) så hvis (felt398 ikke er udfyldt (tom eller 0) ) alert vægt ellers hvis (felt398 er udfyldt (dog ikke 0) ) så hvis (felt401 ikke er udfyldt (tom eller 0) ) alert kostpris
Problemet er hvis de alle er udfyldte, så skal der beregnes nogle værdier, men det bliver der ikke.
Okay, jeg har nu selv løst problemet, men kunne godt tænke mig en bedre løsning, da jeg nu kun sammenligner 2 felter ad gangen. Koden ser sådanne ud:
} else if (ds.r397.value != "" && ds.r398.value < 1) { alert("Du har glemt at udfylde følgende felt under Sokkeljern: Vægt."); } else if (ds.r397.value != "" && ds.r401.value < 1) { alert("Du har glemt at udfylde følgende felt under Sokkeljern: Kostpris."); } else if (ds.r413.value != "" && ds.r414.value < 1) { alert("Du har glemt at udfylde følgende felt under Sokkeljern: Vægt."); } else if (ds.r413.value != "" && ds.r417.value < 1) { alert("Du har glemt at udfylde følgende felt under Sokkeljern: Kostpris."); } else if (ds.r455.value != "" && ds.r456.value < 1) { alert("Du har glemt at udfylde følgende felt under Sokkeljern: Vægt."); } else if (ds.r455.value != "" && ds.r459.value < 1) { alert("Du har glemt at udfylde følgende felt under Sokkeljern: Kostpris."); } else if (ds.r455a.value != "" && ds.r456a.value < 1) { alert("Du har glemt at udfylde følgende felt under Sokkeljern: Vægt."); } else if (ds.r455a.value != "" && ds.r459a.value < 1) { alert("Du har glemt at udfylde følgende felt under Sokkeljern: Kostpris."); }
Grunden til at jeg ikke har nogen alert når det første felt er tomt, skyldes at systemet er bygget op på den måde, at de bliver beregnet når de ikke er udfyldt. Måske ikke den bedste løsning, men godt nok indtil videre.
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.