Avatar billede kledal Nybegynder
17. september 2002 - 15:00 Der er 6 kommentarer og
1 løsning

dropdown og ASP

Det jeg skal er at jeg skal vælge en værdi i en dropdown-box, når jeg vælger den skal der så vises en tekstbox, hvis værdien addon="ja", ellers skal der ikke vises noget.
Jeg har prøvet nedenstående, men det virker ikke, hvad skal jeg gøre??


<option selected>vælg en</option>
<%SQL = "Select id, navn, sno, addon FROM ssentence"
Set ObjRs = ObjConn.Execute(SQL)
%>
<%do While not ObjRs.eof%>
<%varaddon = Obj.Rs("addon")%>           
<option value="<%=ObjRs("id")%>"><%=ObjRs("navn")%></option>
<%
ObjRs.movenext
Loop
ObjRs.close
%>
</select>
<%if addon="ja" then%>
<input type="text" size="20">
<%else%>
<br>
<%end if%>
Avatar billede neteffect Nybegynder
17. september 2002 - 15:20 #1
Din variabel hedder varaddon, ikke addon
<%if varaddon="ja" then%>
Avatar billede medions Nybegynder
17. september 2002 - 15:20 #2
Nu kan jeg ik' lige rigtig se hvad scriptet skal gøre.. men prøv lige med dette:

<option selected>vælg en</option>
<%SQL = "Select id, navn, sno, addon FROM ssentence"
Set ObjRs = ObjConn.Execute(SQL)
%>
<%do While not ObjRs.eof%>
<%varaddon = Obj.Rs("addon")%>           
<option value="<%=ObjRs("id")%>"><%=ObjRs("navn")%></option>
<%
ObjRs.movenext
Loop
ObjRs.close
%>
</select>
<%if varaddon="ja" then%>
<input type="text" size="20">
<%else%>
<br>
<%end if%>

//>Rune
Avatar billede kledal Nybegynder
17. september 2002 - 15:27 #3
ja, undskyld, jeg ved godt at min variabel hedder varaddon, og det gør den også i mit script, jeg skrev bar eforkert herude.
Det scriptet skal gøre, at hvis man vælger en speciel værdi, så skal det være muligt at skrive noget ekstra i feltet som gerne skulle komme frem til højre for select-boxen!
Avatar billede medions Nybegynder
17. september 2002 - 15:32 #4
Tror du så ikke mere det er dette script du leder efter... Det er et jeg engang lavede til en telefonbog... Så du skulle nok kunne bruge det!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--
    ** Alle rettigheder og alt det plader er berettiget YoungShopper.com
    ** Copyright (c) Rune Nielsen & Poul Erik Rasmusen 2002
    ** Hehe hvad man dog kan skrive af finesser :-)
-->
<html>
<head>
    <title>Untitled</title>
</head>

<body>

<script language="JavaScript">
        function ShowNumber() {
            //Finder "id'en" så den kan vælges senere
            SelIndex = document.form1.users.selectedIndex;
            //Her bruges "id'en" til at finde den korrekte option
            ShowID = document.form1.users.options[SelIndex].value;
            //Her udskrives scriptet så endelig til inputboxen
            ShowPhonenumber = document.form1.number.value = Phonenumber[ShowID];
        }
       
        /*Nu ved jeg jo ikke hvordan du har sat dit SMS script op men jeg kan da lige
          Prøve at komme med et forslag til en løkke
         
          Response.Write("User = Array()")
          While Not rs.EOF
            Number = Number + 1
              Response.Write("User[" & lngNumber & "] = "'" & rs("username") & "';")
          rs.MoveNext
          Wend
         
          Nu har jeg ikke prøve ASP koden af da jeg ikke gider til at lave en database
          for lige dette lille eksempel men jeg tror vidst nok det er rigtigt ;-)
          Men det er ellers sådan her jeg har tænkt mig at du kunne gøre istedet for at
          siden skal reloade hver gang! Det gider jeg ihvertfald ikke side og vente på
          når jeg sidder bag et 56k modem - hvilket der er MANGE der gør!
          */
       
        User = Array()
        User[0] = "Telefonbog";
        User[1] = "Rune Nielsen";
        User[2] = "Jesper Nielsen";
        User[3] = "Ralph Kjeldsen";
       
        Phonenumber = Array()
        Phonenumber[0] = "";
        Phonenumber[1] = 232234272283247;
        Phonenumber[2] = 206234602294323;
        Phonenumber[3] = 232404234071450;
       
        ID = Array()
        //Laver et ID for hvert telefonnummer der er
        for (i = 0; i < Phonenumber.length; ++i) {
        ID[i] = i;
        }
</script>

<form name="form1">
<select name="users" onChange="ShowNumber();">
<script language="JavaScript">
        //Udskriver en option for hvert telefonnummer der er
        for (i = 0; i < Phonenumber.length; i++) {
            //Hvis løkken er = 0 så skal den lave en selected på option'en (en overskrift)
            if (ID[i] == 0) {
                document.write("<option selected value='" + ID[i] + "'>" + User[i]);
            }
            else {
                document.write("<option value='" + ID[i] + "'>" + User[i]);
            }
        }
</script>
</select>
<input type="text" name="number">
</form>

</body>
</html>

//>Rune
Avatar billede medions Nybegynder
17. september 2002 - 15:34 #5
Her har du den hvor den arbejder sammen med en database...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--
    ** Alle rettigheder og alt det plader er berettiget YoungShopper.com
    ** Copyright (c) Rune Nielsen & Poul Erik Rasmusen 2002
    ** Hehe hvad man dog kan skrive af finesser :-)
-->

<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb")
   
    SQL = "SELECT * FROM phonenumbers"
    Set Recordset1 = Conn.Execute(SQL)
%>
<html>
<head>
    <title>Untitled</title>
</head>

<body>

<script language="JavaScript">
        function ShowNumber() {
            //Finder "id'en" så den kan vælges senere
            SelIndex = document.form1.menu1.selectedIndex;
            //Her bruges "id'en" til at finde den korrekte option
            ShowID = document.form1.menu1.options[SelIndex].value;
            //Her udskrives scriptet så endelig til inputboxen
            ShowPhonenumber = document.form1.number.value = Phonenumber[ShowID];
        }
       
        User = Array()
        User[0] = "Telefonbog";
        <% While Not Recordset1.EOF %>
        User[<%Response.Write(Recordset1("ID"))%>] = "<% Response.Write(Recordset1.Fields.Item("Name").Value)%>";
       
        Phonenumber = Array()
        Phonenumber[0] = "";
        Phonenumber[<%Response.Write(Recordset1("ID"))%>] = "<% Response.Write(Recordset1.Fields.Item("Number").Value)%>";       
        <% Recordset1.MoveNext() %>
        <% Wend %>
       
        ID = Array()
        //Laver et ID for hvert telefonnummer der er
        for (i = 0; i < Phonenumber.length; ++i) {
        ID[i] = i;
        }
</script>

<form name="form1">
<select name="menu1" onChange="ShowNumber();">
<script language="JavaScript">
        //Udskriver en option for hvert telefonnummer der er
        for (i = 0; i < Phonenumber.length; i++) {
            //Hvis løkken er = 0 så skal den lave en selected på option'en (en overskrift)
            if (ID[i] == 0) {
                document.write("<option selected value='" + ID[i] + "'>" + User[i]);
            }
            else {
                document.write("<option value='" + ID[i] + "'>" + User[i]);
            }
        }
</script>
</select>
<input type="text" name="number">
</form>

</body>
</html>


//>Rune
Avatar billede kledal Nybegynder
17. september 2002 - 15:37 #6
nå, nu kom jeg til at acceptere svaret, jeg ved endnu ikke om det funker.
Jeg har alle mine værdier liggende i en Database, som har 4 felter.
id, navn, sno, addon.
i addon kan der enten være "ja" eller ingenting.
Det der skal checkes er at hvis jeg vælger f.eks. id = 6 så skal jeg chekke feltet "addon" og hvis det er lig med "ja", så skal der komme en ny tekstbox op!!
Avatar billede medions Nybegynder
17. september 2002 - 22:49 #7
Jeg kigger lige på det i morgen hvis jeg får tid...! -ellers bliver det først en gang i næste uge, håber det er okay!

//>Rune
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
Kurser inden for grundlæggende programmering

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