Avatar billede p_johansen Nybegynder
10. december 2002 - 12:33 Der 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>
Avatar billede dgivoni Nybegynder
10. december 2002 - 12:35 #1
jeg har godt set din anden post med samme problem, kan du ikke lige forsoege at forklare i ord, hvad det er du vil goere?
Avatar billede p_johansen Nybegynder
10. december 2002 - 12:43 #2
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....
Avatar billede dgivoni Nybegynder
10. december 2002 - 12:55 #3
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.
Avatar billede p_johansen Nybegynder
10. december 2002 - 12:56 #4
client side:

aktiveres med onChange i formularfeltet
Avatar billede dgivoni Nybegynder
10. december 2002 - 12:57 #5
normalt skriver du en if-then-else saetning i vbscript paa foelgende maade:
if BETINGELSE then
...
else
...
end if
Avatar billede dgivoni Nybegynder
10. december 2002 - 13:06 #6
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.
Avatar billede p_johansen Nybegynder
10. december 2002 - 13:33 #7
Det virker helt efter hensigten bortset fra :

Hvis f.tal.... osv. overstiger en bestemt størrelse vælges en anden pris

og det er dette problem jeg bokser med ;-)
Avatar billede p_johansen Nybegynder
10. december 2002 - 13:35 #8
hvis jeg gør sådan
<script>

function regnfor(f)
{
f.total.value =<%for i=0 to howmanyfields%>
<%if 11 < 10 then %>
+ ((f.pris<%=(i)+1%>.value) * (f.tal<%=(i)+1%>.value - 0))
<% else %>
+ ((f.prisx<%=(i)+1%>.value) * (f.tal<%=(i)+1%>.value - 0))
<% end if%>
<% next %> ;
}
</script>

eller sådan

<script>

function regnfor(f)
{
f.total.value =<%for i=0 to howmanyfields%>
<%if 9 < 10 then %>
+ ((f.pris<%=(i)+1%>.value) * (f.tal<%=(i)+1%>.value - 0))
<% else %>
+ ((f.prisx<%=(i)+1%>.value) * (f.tal<%=(i)+1%>.value - 0))
<% end if%>
<% next %> ;
}
</script>

virker det fint
men hvordan får jeg så 9 / 11 til at være variablen (f.tal<%=(i)+1%>.value))
Avatar billede dgivoni Nybegynder
10. december 2002 - 13:41 #9
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 :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester