Jeg sidder og bakser med en simpel webshop i JSP og har et spørgsmål. Jeg har lavet en database der indeholder et vareregister og nu vil jeg lave en sider hvor man kan redigere varerne. Jeg vil lave en drop-down menu hvor man vælger varen man vil redigere og derefter skal informationen loades i en redigerbar form.
Jeg har:
<form name="FormList"> <select name="VareList" onChange=""> <option value="Default">Vælg vare at redigere</option> <% while (rs.next() == true){
Dette generer en drop-down menu med alle varer i databasen. Nu vil jeg gerne have at når man vælger en vare så skal informationen loades ind i en form. Jeg ville tro at jeg kunne bruge onChange="" til dette, men er usikker på hvordan.
Du skal kigge på javascript når det er onchange... for det er jo i HTML-delen at der sker en ændring.. Du kan jo evt. gøre sådan at når der sker et valg i drop-down menuen så bliver det automatisk submittet til en ny side, som jo så henter dine data via din jsp-side/servlet..
Hvis du endelig ønsker at gøre det rigtig fancy kan du gøre det via ajax, så der ikke sker en side opdatering, men at teksten blot bliver ændret.
Ajax er jo egentlig også javascript, blot med sammenkædning af en serverside. Processen er den at du via et javascript og funktionen xmlhttprequest. Via javascriptet sender du et request ned til en servlet, som jo så henter dine data fra din database. Data bliver så udformet til et XML dokument som bliver sendt tilbage til javascriptet på din side. Nu skal javascriptet som fortolke XML dokumentet, og ændre i din HTML side så informationen nu bliver vist på hjemmesiden...
Dette vil dog give Arne_v graa haar i hovedet da man boer bruge jstl, taglibs og EL, men dette er blot et foreslag fra en old school java coder :)
Du skal basically hente resultaterne fra din database 'onchange' som du siger, og det goer du ved at bruge onchange="window.location.href='minside.jsp?vare='+this.value"
Men du kan ogsaa hente skidtet uden at reloade siden, ved at bruge ajax og sige onchange="hentVarer(this.value)"
Og have en ajax funktion, som kalder serveren via javascript uden at reloade siden...
Hvis du er lidt ny mht programmering foreslaar jeg du opdaterer siden og laegger dine server/database-kald i en <% java kode %> blok i toppen af siden, men hvis du er lidt erfaren, synes jeg du skal kigge paa Prototype Ajax, som kan forkorte dine javascript / ajax funktioner til faa linier. Det kraever dog at du forstaar hvordan du faar det til at virke med side-reload (kalde en servlet, som henter resultaterne).
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.