Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ladda om listboxen?

Postades av 2004-01-01 13:15:48 - Jonas Oscarsson, i forum asp - allmänt, Tråden har 20 Kommentarer och lästs av 579 personer

Jag har ett problem med en listbox. I databasen ligger där en tabell som heter Tidtyp. Tidtyp innehåller TidtypID och Tidtypnamn. Dessa hämtas på en ASP-sida som "loopar" ut dem i en listbox, och "loopen" ser samtidigt efter ifall TidtypID stämmer överens med ett annat värde som innehåller Tidtypen för det projektet. Det går bra första gången sidan laddas upp, och rätt Tidtypsnamn blir valt. Men när man sedan ska tex ge ett felmeddelande på sidan så laddas inte listboxen upp igen, och får därmed inget förvalt alternativ. Finns det något sätt att få listboxen att laddas upp igen, eller något annat sätt i VBScript som gör att man kan sätta vilken post av de inlagda som ska vara vald?

Det här blev krångligt. Det jag behöver är någonting som sätter ett "default"-värde i en redan uppladdad listbox.


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-01 15:54:13 - Oskar Johansson

Kan du skriva ut koden som genererar listboxen?


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-01 18:45:11 - Jonas Oscarsson

<code>
("DataB") = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("database/db.mdb") & ";Persist Security Info=False"

<SELECT NAME="selKundOchProjekt" STYLE="FONT=10">
<%SQL = "SELECT Projektnr FROM Projekt ORDER BY Kundnr"
set EkaDB = server.CreateObject("ADODB.recordset")
EkaDB.Open SQL,Application("DataB"),3
If Not EkaDB.eof Then
Do Until EkaDB.eof%>
<OPTION VALUE="<%=EkaDB("Projektnr")%>" <%If EkaDB("Projektnr") = Projektnr Then%>SELECTED<%End If%>><%=GetCustomerAndProjectNameByProjectID(EkaDB("Projektnr"))%></OPTION>
<%EkaDB.MoveNext
Loop
End If
EkaDB.Close
set EkaDB = nothing
</SELECT>
</code>

Tror det var allt. Funktionen GetCustomerAndProjectNameByProjectID är oviktig här, så jag har inte inkluderat den.


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-01 20:14:06 - Oskar Johansson

Vad menar du med att ladda upp sidan och att ge ett felmeddelande?


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-06 11:04:21 - Jonas Oscarsson

Att sidan inte laddas om, utan att jag har ett strängvärde längst ner på sidan som berättar vad man gjorde för fel när man fyllde i formuläret. Detta strängvärde ändras alltså beroende på vilket fel man gjorde när man fyllde i formuläret (tex glömde fylla i en obligatorisk ruta).


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-06 18:40:00 - Oskar Johansson

Hm... jag förstår fortfarande inte riktigt... Kan du kopiera in html-koden från webbläsaren då? Se till att få med form-taggarna bara... och om du har en massa extra kod så kan du ta bort den...

Jag förstår inte riktigt varför listboxen inte skulle skickas med...


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-07 10:27:22 - Jonas Oscarsson

Hmm... det är svårt att förklara detta här :)

Jag sitter på fel dator, så jag har tyvärr ingen möjlighet att visa HTML-koden just nu. Jag tror faktiskt inte att det behövs, om du bara förstår mitt problem. Jag ska försöka förklara det hela grundligt:
Man länkas till sidan med en querystring som antingen innehåller ett idnr eller ordet "new". Om den har ett idnr, ska detta idnr hämtas ur databasen och poster som hade det idnr:et läggas in som "default"-värden i formuläret. Man får sedan tre alternativ i form av submitknappar längst ner på sidan: Uppdatera, Ta bort eller Tillbaka. Om man trycker på Uppdatera, uppdateras den specifika posten (med det idnr:et) med den nya informationen från formuläret. Men innan den uppdaterar posten kollas alla textfält och liknande i formuläret så att man inte har skrivit in ett otillåtet värde (text i ett nummerfält etc) och så att alla obligatoriska fält är ifyllda. Om den hittar ett fel, lagras det felet i en variabel kallad msgError (msgError kan alltså vara 'msgError = "Du måste skriva in antalet timmar."'). Detta meddelande visas sedan längst ner på sidan och posten uppdateras inte förrän man har rättat till felet. Men eftersom sidan inte laddas om så laddas inte en enda listbox upp på nytt, vilket medför att den inte kör loopen (som fanns i tidigare inlägg), och därmed inte kollar vilken av de olika valen (OPTION) som ska vara vald från början. Första gången sidan visas, visas även rätt val (OPTION). Men inte sen, eftersom sidan inte laddas om.

Kastade detta lite ljus över vilket problem jag har? Om inte så ska jag försöka fixa HTML-koden som du ville ha...


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-07 16:12:16 - Oskar Johansson

Alltså: Vad du vill göra är att sätta listboxen till det alternativ som den hade innan man försökte skicka upp den och misslyckades? Eller?


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-07 17:54:05 - Jonas Oscarsson

Precis.


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-07 19:24:52 - Oskar Johansson

Lägg indexet för det valda alternativet (börjar på 0) i en javascript variabel...

<code>
response.write "<select id=""blaha"">"
dim i
dim h
h = 0
i=0
do while not rs.eof
response.write "<option value=""" & rs("kossa") & """"
if DEN_HÄR_SKA_VARA_MARKERAD then
response.write " selected"
end if
response.write ">" & rs("kossa") & "</option>"
i = i + 1
loop
response.write "</select>"
response.write "<script type=""text/javascript"">var t_Start='" & cstr(h) & "';</script>"
</code>



Sedan där det skall återställas i javascriptet:

document.getElementById("blaha").selectIndex=t_Start;


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-07 21:18:30 - Jonas Oscarsson

Var ska denna kod ligga? Där SELECT-menyn skapas?
Vad menar du medd att jag ska lägga det i en javascriptvariabel?
Går inte detta att göra direkt i VBScript utan Jscript?


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-07 21:22:04 - Oskar Johansson

Det där är det som skall skrivas ut...

Och varför kör du vbscript? du kan ju bara internet explorer användare använda hemsidan?


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-08 11:17:03 - Jonas Oscarsson

Så jag ska ersätta min kod med koden du skrev där? Den koden ska ligga där min listboxkod låg innan?

Jag använder VBScript för att det är smidigast och för att jag kunde det innan.


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-08 16:25:22 - Oskar Johansson

Ersätta å ersätta, du skall ha med den där räknar variabeln och sätta en javascript variabel som jag hade i min exempelloop. :)


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-08 20:21:59 - Jonas Oscarsson

Jag förstår hur du har tänkt att den skall fungera nu iallafall.
Men jag förstår inte detta:

<code>

if DEN_HAR_SKA_VARA_MARKERAD then

</code>

Vad är det för if-sats egentligen? Inte "= true" eller "= 1" utan bara "then"?

Har inte stött på det innan, tror jag inte. Om du nu inte bara skrev fel?


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-08 20:45:09 - Oskar Johansson

Jag hade inte koll på hur du skulle kolla ifall den är selected, så du skall byta ut den mot den riktiga if-satsen...


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-09 11:47:48 - Jonas Oscarsson

Man kan inte göra på något annat sätt? Utan Javascript? Det finns inget sätt att genom VBScript bara ändra vilken OPTION som ska vara SEEECTED?

Förresten, tack för all hjälp, även om jag inte fått det att fungera än ;)


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-09 16:22:19 - Oskar Johansson

Klart det går med vbscript... samma kod... fast utan ;


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-11 11:42:55 - Jonas Oscarsson

Så du menar att jag kan använda tex den klassiska javascriptfunktioner:

<code>
document.getElementById("ettnamn").style.top=50
</code>

I vbscript också? Eller menar du endast koden du gjorde?
Ska jag ta bort <SCRIPT>taggarna också?


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-11 13:01:32 - Oskar Johansson

det är samma objekt oavsett om du kör vbscript eller javascript...


Svara

Sv: Ladda om listboxen?

Postades av 2004-01-13 07:28:42 - Jonas Oscarsson

Konstigt


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 791
27 960
271 761
6 065
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies