Avatar billede cort Nybegynder
14. august 2001 - 15:51 Der er 20 kommentarer og
1 løsning

Rækkefølge i request.form

Jeg har følgende:

<%
For each item in Request.Form
%>
<input type=\"Hidden\" name=\"<%=item%>\" value=\"<%=Request.Form(Item)%>\">
<%   
Next
%>
Det virker fint, rent kode mæssigt, men rækkefølgen er helt hen i vejret.
Jeg har prøvet at sætte tal ind foran hvert form name og jeg har prøvet at sætte en tabindex rækkefølge, intet virker er der nogen der hjælpe.
Det kommer ikke engang i alfabetisk rækkefølge.

           
Avatar billede nuno Nybegynder
14. august 2001 - 15:56 #1
<%
For each item in Request.Form
%>
<input type=\"Hidden\" name=\"<%=item%>\" value=\"<%=Item.Value%>\">
<%   
Next
%>
Avatar billede nuno Nybegynder
14. august 2001 - 16:06 #2
hm det her udskriver i rækkefølge:

først siden med min form


<form name=\"test\" action=\"default.asp\" method=\"post\">
<input type=\"text\" name=\"test1\"><br>
<input type=\"text\" name=\"test2\"><br>
<input type=\"text\" name=\"test3\"><br>
<input type=\"text\" name=\"test4\"><br>
<input type=\"text\" name=\"test5\"><br>
<input type=\"text\" name=\"test6\"><br>

<input type=\"submit\">
</form>


hvor jeg så på min default side requester vha. nedenstående kode

<%
for each item in request.form
    response.write item & \" \"
    response.write request.form(item) & \"<br>\"
next
%>


den udskriver i hvert fald formens værdier og feltnavne i rækkefølge (test1 først - test6 sidst)


/nuno
Avatar billede cort Nybegynder
14. august 2001 - 16:16 #3
Kan det være fordi at du slutter af med et tal, hmm det er sgu for enkelt hvis det er det.
Jeg satte et tal foran.
Jeg prøver lige.
Avatar billede cort Nybegynder
14. august 2001 - 16:17 #4
Det hjalp ikke en skid.
Avatar billede cort Nybegynder
14. august 2001 - 16:18 #5
Alle dine names starter jo også med t.
Men jeg har over 50 med forskellige navne
Avatar billede nuno Nybegynder
14. august 2001 - 16:22 #6
hm du har ret

hvis min form ser således ud:

<form name=\"test\" action=\"default.asp\" method=\"post\">
<input type=\"text\" name=\"atest1\"><br>
<input type=\"text\" name=\"ftest2\"><br>
<input type=\"text\" name=\"ctest3\"><br>
<input type=\"text\" name=\"gest4\"><br>
<input type=\"text\" name=\"aest5\"><br>
<input type=\"text\" name=\"aest6\"><br>

<input type=\"submit\">
</form>


så bliver de udskrevet 1 - 2 - 5 - 3 - 6 - 4
hvor nummeret er det der står til sidst i name

weird...
Avatar billede nuno Nybegynder
14. august 2001 - 16:23 #7
og det hjalp ikke at sætte et t foran
Avatar billede cort Nybegynder
14. august 2001 - 16:46 #8
Ja det er fandme mærkeligt, der må da være mange der har været ude for det for os.
Avatar billede netsrac Praktikant
14. august 2001 - 16:46 #9
Du kan ikke selv styre hvilken rækkefølge de kommer ind i den collection. Du kan sende en input hidden med sorteringen med:

<input type=\"hidden\" name=\"order\" value=\"felt1|felt2|felt3\">

også:

orderarr = Split(request.form(\"order\"), \"|\")
For each item in orderarr %>
<input type=\"Hidden\" name=\"<%=item%>\" value=\"<%=Request.Form(Item)%>\">
<%Next
Avatar billede cort Nybegynder
14. august 2001 - 16:52 #10
hvad bliver der så sorteret efter?
Avatar billede cort Nybegynder
14. august 2001 - 16:53 #11
Alfabetisk eller efter det tal du har til sidst.
Avatar billede netsrac Praktikant
14. august 2001 - 16:54 #12
Det bliver sorteret efter den rækkefølge du angiver i den input type hidden der hedder order:

felt1|felt2|felt3

Eller

felt1|felt3|felt2

Bestemmer du helt selv...

Avatar billede cort Nybegynder
14. august 2001 - 16:54 #13
Hvordan gribes det så an, når jeg har 3 sider med form felter der skal subnmittes på sidste side.
På hver side kalder jeg form felter fra forgående side sådan her:
<%
For each item in Request.Form
%>
<input type=\"Hidden\" name=\"<%=item%>\" value=\"<%=Request.Form(Item)%>\">
<%   
Next
%>
Avatar billede cort Nybegynder
14. august 2001 - 16:55 #14
ideen er jeg ikke skal sidde og skrive alle formfelterne rækkefølge som du beskriver det her:
felt1|felt2|felt3
fordi der er så pokkers mange
Avatar billede cort Nybegynder
14. august 2001 - 16:56 #15
så kan jeg jo ligeså godt lave det manuelt
og kalde dem på hver side. Men det er et helvedes stort arbejde.
Avatar billede netsrac Praktikant
14. august 2001 - 17:02 #16
Well, well, så finder vi da på noget andet, iøvrigt god indstilling du har, programmering handler nemlig om at være doven :-)

Alfabetisk:

<%
Sub sortArr(myarr)
for a = 0 to ubound(myarr) - 1
    index = a
        for b = a+1 to ubound(myarr)
            if myarr(b) < myarr(index) then
                index = b
            end if
        next
    tmp = myarr(a)
    myarr(a) = myarr(index)
    myarr(index) = tmp
next
end Sub



For each item in Request.Form
    buildarr = buildarr & item & \"|\"
Next
buildarr = Left(buildarr, Len(buildarr)-1)
formarr = Split(buildarr, \"|\")
Call sortArr(formarr)

For each item in formarr
%>
<input type=\"Hidden\" name=\"<%=item%>\" value=\"<%=Request.Form(Item)%>\">
<%
Next
%>
Avatar billede cort Nybegynder
14. august 2001 - 17:20 #17
Det er fandme lækkert, du har ikke også en ide til at få dem vist som de fremtræder på hjemmesiden.
Avatar billede cort Nybegynder
14. august 2001 - 17:47 #18
kom nu du skal nok få flere point
Avatar billede cort Nybegynder
14. august 2001 - 17:48 #19
nå men du får de 30 indtil videre, tak for hjælpen.
Skal jeg oprette et nyt ? så vi kan diskutere at få dem vist i rigtig rækkefølge?
Avatar billede netsrac Praktikant
15. august 2001 - 00:45 #20
Umiddelbart kan man ikke få dem vist i samme rækkefølg som på foregående side, da man ikke ved hvordan de er på foregående side.
Avatar billede cort Nybegynder
15. august 2001 - 14:17 #21
orrh for pokker det skal sgu gøres sådan her.

<% For i = 1 To Request.Form.Count %>
<input type=\"Hidden\" name=\"<%=Request.Form.Key(i) %>\" value=\"<%=Request.Form.Item(i)%>\">
<% Next %>

Totalt enkelt
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