Avatar billede quarkb Nybegynder
08. marts 2005 - 11:38 Der er 7 kommentarer og
2 løsninger

OnChange problem

Jeg har en side med to dropdown menuer hvor den en skal skifte udfra hvad der er valgt i den først.
Jeg har nedenstående kode:

<%    sql = "SELECT * FROM Toj WHERE ID =" & ID
    sqlTT = "SELECT * FROM TojType"
    sqlTS = "SELECT * FROM TojStorrelse"
   
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open Application( "DBPATH2" )
           
    Set rs = Server.CreateObject("ADODB.RecordSet")
    Set rsTT = Server.CreateObject("ADODB.RecordSet")
    Set rsTS = Server.CreateObject("ADODB.RecordSet")
   
    rs.Open sql, conn, 3,3
    rsTT.Open sqlTT, conn, 3,3
    rsTS.Open sqlTS, conn, 3,3
   
   
    if rs.bof then
    else %>
<form name="ret" action="default.asp?target=DoRet" method="POST">
<input type="hidden" name="id" value="<%= rs.Fields("ID")%>">
<table border="0" width="300" cellspacing="1" cellpadding="4">
    <tr>
        <td>Tøj type:</td>
        <td>&nbsp;</td>
        <td>
        <select size="1" name="TojModel" size="1">
        <option selected>Vælg tøj model</option>
<%    rsTT.MoveFirst
    do while not rsTT.EOF %>
    <option value="<%=rsTT.Fields("TypeNr") %>"><%= rsTT.Fields("Type") %></option>
<%    rsTT.MoveNext
    loop %>
        </select>
        </td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td>
        <select name="Str" size="1">
        <option selected>Vælg størrelse</option>
<%    rsTS.MoveFirst
    do while not rsTS.EOF %>
    <option value="<%=rsTS.Fields("Storrelse") %>"><%= rsTS.Fields("Storrelse") %></option>
<%    rsTS.MoveNext
    loop %>
        </select>
        </td>
    </tr>
    <tr>
        <td>Udleveret:</td>
        <td>&nbsp;</td>
        <td><%= rs.Fields("Udlev") %></td>
    </tr>
    <tr>
        <td>Bestilt:</td>
        <td>&nbsp;</td>
        <td>
        <input type="text" name="Bestilling" size="3">
        </td>
    </tr>
    <tr>
        <td>Leveret</td>
        <td>&nbsp;</td>
        <td>   
        <input type="text" name="Leveret" size="3"></td>
    </tr>
    <tr>
        <td>Restordre</td>
        <td>&nbsp;</td>
        <td><%= rs.Fields("RestOrder") %></td>
    </tr>
</table>
    <p><input type="submit" value="Ret post" name="submit"></p>
</form>
   
<%    rs.Close
    rsTT.Close
    rsTS.Close
    set rs = nothing
    set rsTT = nothing
    set rsTS = nothing
    conn.Close
    set conn = nothing
       
    end if  %>
Avatar billede olebole Juniormester
08. marts 2005 - 12:36 #1
<ole>

- og spørgsmålet er?
- kan du ikke vise din kode uden irrelevant ASP-kode?

/mvh
</bole>
Avatar billede quarkb Nybegynder
08. marts 2005 - 12:44 #2
Når der i select TojType vælges feks. jakke skal select str finde de poster i databasen som har jakke som ref. felt, altså ikke vise alle posterne.

<select name="TojType" size="1">
    <option selected>Vælg tøj type</option>
<%    rsTT.MoveFirst
    do while not rsTT.EOF %>
    <option value="<%=rsTT.Fields("TypeNr") %>"><%= rsTT.Fields("Type") %></option>
<%    rsTT.MoveNext
    loop %>
</select>
</form>
        </td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td>
        <select name="Str" size="1">
        <option selected>Vælg størrelse</option>
<%    rsTS.MoveFirst
    do while not rsTS.EOF %>
    <option value="<%=rsTS.Fields("Storrelse") %>"><%= rsTS.Fields("Storrelse") %></option>
<%    rsTS.MoveNext
    loop %>
        </select>
Avatar billede roenving Novice
08. marts 2005 - 14:19 #3
Så skal du jo reloade siden, når du gør det sådan !-)
Avatar billede olebole Juniormester
08. marts 2005 - 14:41 #4
ASP fungerer kun på serveren. Når først dokumentet har forladt serveren, skal det derop igen, før ASP igen kan gøre noget ved det
Avatar billede quarkb Nybegynder
08. marts 2005 - 14:41 #5
Ja, men hvordan?????
Avatar billede olebole Juniormester
08. marts 2005 - 15:03 #6
Du kan f.eks. submitte en form - eller skrive noget location.href="enside.asp?noget=bla"
Avatar billede quarkb Nybegynder
08. marts 2005 - 15:11 #7
Jeg vil gerne at valgt i select TojType bliver og de nye valg muligheder i select str vises.
Avatar billede skyggen2000 Nybegynder
11. marts 2005 - 15:42 #8
Du har 3 valgmuligheder:
1. Du loader alle størrelser til de forskellige tøjmærker i arrays, som du kan tilgå via J-Script. Når du skifter tøj type, finder du det korrekte array, og loader værdierne i selectboksen. Det kan godt være ret trægt, hvis du har mange tøjmærker:)

2. Når du har valgt en tøjtype, sørger du for at submitte din form.
I asp, spørger du om værdien "TojType" indeholder en værdi. Hvis den gør laver du udtræk vedr. tøjstørrelser, der benyttes når selectboksen til den skal oprettes.
Når du opbygger selectboksen til tøjmærkerne, spørger du hver gang om "TojType" er lige med den værdi du er ved at oprette, og hvis den er skal du indsætte værdien "selected" i dit option felt dvs. hvis "jakke" = "jakke" indsæt "selected". Derved vil den være markeret når siden loades.

3. Du har to forskellige iframes. En til tøjtype, og en til tøjstørrelse.
Når du vælger tøjtype, loader du siden til tøjstørrelse igen med tøjtype parameteren i din URL.

Personligt ville jeg nok vælge løsning 2, da den er hurtigst at kode udfra hvad du har:)
Avatar billede quarkb Nybegynder
11. marts 2005 - 20:00 #9
Jeg har faktisk så sent som i går lavet det som du skyggen2000 foreslår i punkt 2. så vi to deler pointene.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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