FAQ |
Kalender |
2010-01-19, 23:29 | #1 | ||
|
|||
Medlem
|
Hej,
Skall fatta mig så kort och samlat jag bara kan. Gjorde för en tid sedan ett litet enkelt gränssnitt och formulär på One.com. Nu har vi flyttat hela databasen och webplatsen (som är skriven i .asp) Scenario. Man lägger till en person i en databas och får t ex knyta tio lag till hans profil. Lagen väljer man i rullistor, där lagen ligger i en separat tabell. Detta fungerar kanon och jag får upp rätt lag när jag sedan tittar på hans profil men om jag däremot skall editera denne persons profil så får jag inte hans valda lag att bli "selected", att vara valda när "editera-profil"-sidan laddas. Däremot förs rätt värden med från formuläret sidan innan (har en <form> på "Visa profil"-sidan som skickar infon vidare). Detta har jag kollat genom att låta skriva ut Request.Form osv. Koden för att sen lista lagen i rullistan ser ut i stil med: <option value="<%=objGetDataTeams01("cId")%>" <% if Request.Form("Teams01") = objGetDataTeams01("cId") Then %>selected<% end if %>><%=objGetDataTeams01("TeamName")%></option> Samma kod fungerar alltså prima när jag kör hemsidan på One.com Väljer jag att på nytt välja lag för aktuell profil och spara profilen så lagras dessa nyvalda lag, så det är _enbart_ att få "selected"-funktionen att fungera. Har testat att köra selected="selected" också men det är samma sak. Är det någon som har en möjlig lösning på detta? Säkert ett otrooooligt enkelt problem, men mina kunskaper är dessvärre något ringa. Stora tack på förhand. MVH // Hegge |
||
Svara med citat |
2010-01-19, 23:40 | #2 | ||
|
|||
Klarade millennium-buggen
|
Citat:
kör hellre: <% if Request.Form("Teams01") = objGetDataTeams01("cId") Then response.write "selected=""selected""" %>> kolla i htmlen vad som genereras. Gör grundlig felsökning och skriv ut vad som jämförs för att hitta felen. |
||
Svara med citat |
2010-01-20, 00:08 | #3 | ||
|
|||
Medlem
|
Hej,
Tack så väldigt mycket för ditt snabba svar. Provade att köra denna: <% if Request.Form("Teams01") = objGetDataTeams01("cId") Then response.write "selected=""selected""" %>> , som du tipsade om, men det blev samma sak dock. Om jag sätter värdet från Request.Form som en variabel och testar att skriva ut denna stämmer värdet, och använder jag sen variabeln i strängen ovan i stället för Request.Form blir det ändå samma sak. Om jag provar att skriva ut <%=objGetDataTeams01("cId")%> <%=Request.Form("Teams01")%> , så ser jag att rätt värden genereras/visas. Om jag väljer att uppdatera profilen, efter att ha valt samma lag / eller ett annat , ja då uppdateras profilen rätt och rätt information visas när samma profil visas efteråt. Men varje gång jag skall gå in i profilen, för att kanske ändra en address eller annan uppgift så måste jag välja alla lag på nytt. Är väldigt tacksam till alla som fortsatt kan komma med tips och möjliga lösningar. Servern som sidan nu ligger på är förresten Windows 2003 R2, om det är av vikt vid fortsatt felsökning. MVH // Hegge |
||
Svara med citat |
2010-01-20, 00:28 | #4 | ||
|
|||
Medlem
|
En sak jag testade nu var denna:
<% if Request.Form("Teams01") = 102 Then response.write "selected=""selected""" %>> samt <% if Request.Form("Teams01") = "102" Then response.write "selected=""selected""" %>> Om jag sen valde det lag som jag visste hade cId "102" så blev det ett lag som blev "selected" i formuläret, men inte lag "102" utan "139" som är det sista numret/laget i tabellen med lag. Bifogar här såsom hela select-satsen ser ut. <select size="1" name="Teams01" class="textnormal"> <option value="0">Inget lag har valts</option> <% If objGetDataTeams01.EOF Then %><% else %> <% objGetDataTeams01.movefirst Do until objGetDataTeams01.EOF %> <option value="<%=objGetDataTeams01("cId")%>" <% if Request.Form("Teams01") = objGetDataTeams01("cId") Then %>selected<% end if %>><%=objGetDataTeams01("Sport")%>, <%=objGetDataTeams01("TeamName")%>, <%=objGetDataTeams01("Division")%></option> <% objGetDataTeams01.MoveNext loop %> </select><% end if %> |
||
Svara med citat |
2010-01-20, 07:51 | #5 | ||
|
|||
Klarade millennium-buggen
|
Det verkar som du inte felsöker.
Är värdena i html korrekta? testa if Request.Form("Teams01") = cStr(objGetDataTeams01("cId")) Then |
||
Svara med citat |
2010-01-20, 10:59 | #6 | ||
|
|||
Medlem
|
Det löste sig, till slut.
Trots att värdena stämde, på alla vis, fram och tillbaka och såg exakt likadana ut när man skrev ut dem så fungerade det inte. Lösningen blev team01 = cInt(Request.Form(teams01)) Att göra om textsträngen i formuläret till en siffra. Puh, många timmars huvudbry är över. Tack till er som tittat i tråden och till dig som svarade ovan. Må väl. MVH // Hegge |
||
Svara med citat |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|