03. februar 2004 - 11:07Der er
14 kommentarer og 1 løsning
Formularer - tilbage/næste
Jeg skal til at lave en formular med en masse felter og den skal derfor deles op i flere sider med tilbage/næste knapper. Men hvordan sender jeg nemmest dataene med uanset hvilken vej brugeren går? Helst uden brug af javascript...
Side1.asp --------- <% ' denne skal ind på alle dine sider for( item in Request.QueryString ) Session( item ) = Request( item ) next Dim strNavn : strNavn = Session("strNavn") %> <html> <body> <form action="side2.asp"> <input type="text" name="strNavn"> <input type="submit" value="neste"> </form> </body> </html>
side2.asp --------- <% ' denne skal ind på alle dine sider for( item in Request.QueryString ) Session( item ) = Request( item ) next %> <html> <body> <form action="side3.asp"> <input type="text" name="strAdresse"> <input type="submit" value="neste"> </form> </body> </html>
Hvad så hvis jeg krydser en checkbox i min form og værdien bliver lagt i session-variablen. Så går jeg tilbage og fjerner krydset, og så bliver værdien ikke fjernet fra session-variablen igen (da den så ikke bliver hentet ind i løkken). Så vil det jo ikke virke?
nej ... hvis du "bladrer" ved hjælp af "frem" og "tilbage" knapperne, så vil det umiddelbart ikke virke, men du kan komme udenom dette ved at gøre 2 ting:
Ja, det ville sikkert være nemmere i .NET, men har desværre ikke den mulighed - det skal være i ASP 3.0 :(
Jeg kan selvfølgelig skrive navnet på alle felter som skal lægges i session-variablen/hidden field istedet for at hente det ind i en løkke, men det tager jo en evighed med rigtig store formularer...
Når du skriver 'helst uden brug af javascript', hvor firkantet er det så ment? Der findes små xhtml/javascript løsninger som kan håndtere dette, så du kun har een form som submittes, men de forskellige del ligger i div som vises/skjules efter behov. Og så en submit-knap på sidste side ...
Jeg synes det er uhensigtmæssigt, at kun brugere med javascript enabled kan udfylde formularen, så jeg prøver så vidt muligt at holde javascript væk fra "vigtige" funktioner.
Nu er jeg gået i gang med den besværlige løsning, hvor jeg henter alle felter et efter et ind i session-variabler... Kedeligt og besværligt, men det virker.
Har en svag erindring om at MS lavede noget asp som virker som en form for forløber for asp.net, bl.a. skulle der være en datagrid komponent. Filerne hedder datagrid.htm og datagrid.asp, og ligger standard i "_ScriptLibrary". Jeg har dem liggende, men har ingen dokumentation, hvis du skulle have mod på at prøve 8-).
/Torsten
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.