10. december 2002 - 12:33Der er
8 kommentarer og 1 løsning
Function regn / form / problem!
Nogen der kan hjælpe med følgende - de områder der ønskes hjælp til er markeret med HJÆLP:
<script>
function regnfor(f){ f.total.value =<% for i=0 to howmanyfields%> HJÆLP: HVIS f.tal<%=(i)+1%> ER STØRRE END XX THEN + ((f.pris<%=(i)+1%>.value) * (f.tal<%=(i)+1%>.value - 0)) HJÆLP:: ELSE + ((f.prisx<%=(i)+1%>.value) * (f.tal<%=(i)+1%>.value - 0)) HJÆLP: END IF <% next %> ; } </script>
Hvis værdien af inputfelt i en formular (f.tal<%=(i)+1) er mindre end XX skal der regnes på + ((f.pris<%=(i)+1%>.value) * (f.tal<%=(i)+1%>.value - 0)) Ellers skal der regnes på + ((f.prisx<%=(i)+1%>.value) * (f.tal<%=(i)+1%>.value - 0))
Spørgsmålet er altså : hvordan laver jeg en : Hvis betingelse er opfyldt så .... ellers udfør næste handling....
Hvor skal den beregning foregaa - paa klienten eller serveren? Du har jo baade client-side og server-side script og hvis der skal reageres paa vaerdien af et inputfelt, saa kan server-side script ikke goere det, foer formen er submittet.
saa vidt jeg kan gennemskue, oensker du at loebe alle tal-felterne igennem paa din form og for hvert tal tjekke vaerdien af tallet/prisen efter? Jeg tror ikke du kan goere, som du forsoeger med at saette f.tal<%=(i)+1%>.value dynamisk. Men hvis du loeber igennem alle formelementerne vha. deres index eller bruger getElementsByName saa kan du sikkert godt goere det.
Det er det jeg mener du ikke kan. Alt i <% %> taggene bliver jo fortolket paa serveren, dvs. inden der overhovedet er noget html sendt ud til brugeren. Saa du har ingen vaerdi i dit felt paa det tidspunkt, hvor du laver for-next-loekken. Eller ogsaa forstaar jeg ikke hvad det er du forsoeger :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.