Avatar billede dalbjerg Nybegynder
29. februar 2004 - 14:57 Der er 15 kommentarer og
1 løsning

2 drop down bokse, hvor man kan tilføje og fjerne indhold

Hej

jeg har 2 drop down bokse, hvor det skal være muligt via 2 knapper at fjerne indhold og putte indhold ind i.

Dropdown boksen bliver gemt i databasen og hentede derfra således:
    <form action="default.asp" method="post" name="sider">
    <table width="100%"  border="0">
      <tr>
    <td width="40%" align="center">Disse sider eksisterer i dit WSMS system.</td>
    <td>&nbsp;</td>
    <td width="40%" align="center">Disse sider kræver password</td>
      </tr>
      <tr>
    <td width="40%" align="center"><select name="sider" size="10">
    <%
    sql = "SELECT * FROM siderne WHERE ejerid = " & session("ejerid")
    set rs = conn.execute(sql)
    do while not rs.eof
        %>
        <option value="<%= rs("titel") %>"><%= rs("titel") %></option>
        <%
        rs.movenext
    loop
    %>
    </select></td>
    <td><input name="" type="button" value="Beskyt"><br><bR><input name="" type="button" value="Fjern beskyttelse"></td>
    <td width="40%" align="center"><select name="beskyttet" size="10">
        <%
    sql = "SELECT * FROM login_pages WHERE ejerid = " & session("ejerid")
    set rs = conn.execute(sql)
    if rs.eof then%>
        <option value="">Ingen sider er beskyttet</option>
    <%end if
    do while not rs.eof
        sql = "SELECT * FROM siderne WHERE id = " & rs("siderne_id")
        set siderne_rs = conn.execute(sql)
        %>
        <option value="<%= siderne_rs("titel") %>"><%= siderne_rs("titel") %></option>
        <%
        rs.movenext
    loop
    %>
    </select></td>
      </tr>
    </table>
    </form>

Håber i kan hjælpe?
Avatar billede roenving Novice
29. februar 2004 - 15:00 #1
http://www.eksperten.dk/spm/469536 ...

-- se forøvrigt også reglerne om dobbelt-spørgsmål !-)
Avatar billede dalbjerg Nybegynder
29. februar 2004 - 15:06 #2
roenving: det ikke samme systemer. Hvis du læser skal man på den anden skrive noget ind i en input box. Her skal det fungere ved at man trykker på en select boks, og derefter så trykke på tilføj. Det andet har jeg jo lavet en opret funktion til, men jeg kan ikke finde ud af at for den overført hertil.
Avatar billede roenving Novice
29. februar 2004 - 15:10 #3
Hvad er det så for en værdi som skal flyttes ?-)
Avatar billede roenving Novice
29. februar 2004 - 15:13 #4
-- Nåh, da jeg ikke lige kunne se logikken fra starten uden indhold i select-boksene opfattede jeg ikke betydningen af 'beskyt' og 'fjern beskyttelse' -- øjeblik ...
Avatar billede nute Nybegynder
29. februar 2004 - 15:20 #5
hmm ... er det noget ála dette du søger ?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function moveSelected( strSourceID, strTargetID )
    {
        var objSource = document.getElementById( strSourceID );
        var objTarget = document.getElementById( strTargetID );
        if( objSource.selectedIndex > -1 )
        {
            var objOption = objSource.options[ objSource.selectedIndex ];
            var objNewOption = new Option( objOption.text, objOption.value )
            objTarget.add( objNewOption );
            objSource.remove( objSource.selectedIndex );
        }
    }
    //-->
    </script>
</head>

<body>
<form id="frm">
<table>
    <tr>
        <td>
            <select id="selOne" size="5">
                <option value="1">Text 1</option>
                <option value="2">Text 2</option>
                <option value="3">Text 3</option>
                <option value="4">Text 4</option>
                <option value="5">Text 5</option>
            </select>
        </td>
        <td>
            <input type="button" value="<<" onclick="moveSelected( 'selTwo', 'selOne' );"><br>
            <input type="button" value=">>" onclick="moveSelected( 'selOne', 'selTwo' );"><br>
        </td>
        <td>
            <select id="selTwo" size="5"></select>
        </td>
    </tr>
</table>
</form>
</body>
</html>

/nute
Avatar billede roenving Novice
29. februar 2004 - 15:21 #6
<script type="text/javascript">
function flyt(but,from,to) {
    sel1 = but.form.elements[to+'sider'],sel2 = but.form.elements[from+'sider'],j=0,idx=sel2.selectedIndex;
    newOpt = document.createElement('OPTION');
    sel1.appendChild(newOpt);
    newOpt.value = sel2.value;
    newOpt.text = sel2.options[idx].text;
   
    for (var i = 0;sel2.length> i; i++) {
        if(i != idx) {
            sel2.options[j].text = sel2.options[i].text;
            sel2.options[j++].value = sel2.options[i].value;
        }
    }
    sel2.length -= 1;
}
</script>

<form action="default.asp" method="post" name="sider">
    <table width="100%"  border="0">
      <tr>
    <td width="40%" align="center">Disse sider eksisterer i dit WSMS system.</td>
    <td>&nbsp;</td>
    <td width="40%" align="center">Disse sider kræver password</td>
      </tr>
      <tr>
    <td width="40%" align="center"><select name="usider" size="10">
        <option value="Side1">Side 1</option>
        <option value="Side2">Side 2</option>
        <option value="Side3">Side 3</option>
    </select></td>
    <td><input name="" type="button" value="Beskyt" onclick="flyt(this,'u','b')"><br><bR><input name="" type="button" value="Fjern beskyttelse" onclick="flyt(this,'b','u')"></td>
    <td width="40%" align="center"><select name="bsider" size="10">
        <option value="Side4">Side 4</option>
        <option value="Side5">Side 5</option>
        <option value="Side6">Side 6</option>
    </select></td>
      </tr>
    </table>
    </form>
Avatar billede dalbjerg Nybegynder
29. februar 2004 - 15:30 #7
bruger nute's forslag, da det også angiver bredden på nummer 2 box, det se ikke ud som roenving, gør dette.
Avatar billede roenving Novice
29. februar 2004 - 15:39 #8
Jeg skulle så lige undersøge, hvorfor de brugte metoder ikke var omtalt i min (snart) forældede JavaScript Bible ...

Da den slet ikke kender IE6 eller Mozilla, var det nemmest bare at teste i Mozilla, hvor add og remove åbenbart ikke kendes !-)

-- men, nute, har du nogen idé, om det vil blive en del af ecmascript-standarden ?-)

-- så foreløbig ser det ud til, at det er en IE6-only løsning ...
Avatar billede dalbjerg Nybegynder
29. februar 2004 - 15:48 #9
Der er jo så opståret et nyt problem, nå jeg gemmer dataerne i min mySQL, og den så henter dataerne frem igen fra mySQL, så er det jo meningen at de ikke skal være over i "selOne". Hvordan løser jeg dette, det er vel noget med en OnLoad i body ikk?
Avatar billede roenving Novice
29. februar 2004 - 15:53 #10
Så skal du vel gemme dem i de to forskellige tabeller, når formen submittes ...
Avatar billede dalbjerg Nybegynder
29. februar 2004 - 16:10 #11
roenving: jeg har lavet således den bliver gemt, men nå jeg så henter siden frem så har jeg jo lavet således at de sider, som man tidligere har beskyttet allerede er oprettet over i seltwo, bliver hentede fra databasen.

Og nå de står over i seltwo, skal de jo ikke står over i selone, så derfor mangler jeg vel en funktion som løber seltwo igennem for de felter som er oprettet og derefter fjerner dem over i selone ikk?
Avatar billede roenving Novice
29. februar 2004 - 16:19 #12
Arh ...

Men kan du ikke bare gemme begge efter først have tømt de to tabeller ?-)

Adskilligt lettere at lave det med dit asp-script !-)
Avatar billede nute Nybegynder
29. februar 2004 - 18:26 #13
roenving >> damn ... jeg bliver nødt til at bruge Mozilla mere. Det sidste år har jeg ikke arbejdet med web, så jeg har lagt mig til den dårlige vane, at bruge IE :-| lover at lade være med det ;-)

om add/remove bliver en del af ecma-standarden ? Hmm ... jeg troede de allerede *var* en del af den, så "nej" ... det ved jeg ikke :-)

/nute
Avatar billede dalbjerg Nybegynder
13. april 2004 - 10:24 #14
nute svarer du lige?
Avatar billede nute Nybegynder
13. april 2004 - 10:28 #15
jow ...
Avatar billede nute Nybegynder
13. april 2004 - 10:40 #16
- takker -
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