Avatar billede stig3 Mester
04. maj 2001 - 14:27 Der er 9 kommentarer og
2 løsninger

onchange

Jeg har denne kode:
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<%
Set conn = Server.CreateObject(\"ADODB.Connection\")
conn.open \"DSN=BookingData;uid=sa;pwd=;APP=BookingDB;Database=BookingDB\"

sql=\"SELECT Anretning FROM Anretninger ORDER BY AnretID ASC;\"
set rs= conn.execute(sql)
%>
<html>
<head>
    <title>Untitled</title>
</head>
<body>
<form name=\"RekvirentRediger\" action=\"RekvirentGem.asp\">
<i><b>Find Rekvirent:</b></i>
<table>
    <tr>
        <td>Initialer</td>
        <td>
        <SELECT name=\"Initialer\" style=\"width:150;\">
            <%
            sql=\"SELECT Initialer, KontoNr FROM Rekvirent ORDER BY Initialer ASC;\"
            set rs= conn.execute(sql)

            while not(rs.eof)
                response.write \"<option value=\"\"\" & trim(rs(\"Initialer\")) & \"\"\">\" & trim(rs(\"Initialer\"))
                rs.movenext
            wend       
            %>
        </SELECT>
        </td>
    </tr>
    <tr>
        <td>Konto Nummer</td>
        <td><input type=\"text\" name=\"KontoNr\" size=\"15\"></td>
    </tr>
</table>
<input type=\"submit\" Value=\"Gem Rekvirenten\">
</form>
</body>
</html>
<% \'Luk alle connections
  rs.close
  conn.close
%>

Det virker fint.

Det jeg vil er at den skal skrive KontoNr i det respektive input-felt når der vælges en rekvirent.

Jeg går ud fra at det er en kombination af asp/javascript, der skal til, men jeg er ikke så stærk i javascript.
Avatar billede tpiil Nybegynder
04. maj 2001 - 14:34 #1
response.write \"<option value=\"\"\" & trim(rs(\"KontoNr\")) & \"\"\">\" & trim(rs(\"Initialer\"))
Avatar billede stig3 Mester
04. maj 2001 - 14:37 #2
Jeg tror at du misforstår............

Jeg vil have kontonummeret ned og stå i textfeltet nedenunder.

altså i:
<input type=\"text\" name=\"KontoNr\" size=\"15\">
Avatar billede nute Nybegynder
04. maj 2001 - 14:38 #3
du bør ta tpiil sin kode + denne:

<SELECT name=\"Initialer\" style=\"width:150;\" onChange=\"document.RekvirentRediger.KontoNr.value=this.options[this.selectedIndex].value;\">

/nute
           
Avatar billede nute Nybegynder
04. maj 2001 - 14:38 #4
uups....

<SELECT name=\"Initialer\" style=\"width:150;\" onChange=\"document.RekvirentRediger.KontoNr.value=this.options[this.options.selectedIndex].value;\">
Avatar billede tpiil Nybegynder
04. maj 2001 - 14:39 #5
ups det felt havde jeg ikke set, men nute har svaret :)
Avatar billede stig3 Mester
04. maj 2001 - 14:47 #6
Det virker fint, men det skaber det problem at når jeg sender det videre til det script, der skla gemme ændringen. Så har Initialer-feltet en value=KontoNr.

Jeg skulle helst på en eller anden måde have intialerne med over.
Avatar billede nute Nybegynder
04. maj 2001 - 14:53 #7
det er flere muligheter å fikse det på. enten så legger du både kontonummer og initialer i value attributten på din option, eller så lager du en javascript-array som inneholder alle kontonummer. Av disse to ville jeg valgt javascript-arrayet, for ved å legge kontonummer i value attrinutten, så kan man se kontonummeret ved å view source
Avatar billede stig3 Mester
04. maj 2001 - 14:59 #8
Det med sikkerhed er ikke et stort problem, da kun der kun skal være to typer af brugere:
- fuld adgang
- ingen adgang
:-)

Men mener du:
Initialer: SJE
KontoNr: 12345678

medfører:
value=SJE-12345678

og så splitte den op når man skal bruge den.

Men det med et array er måske bedre alligevel. Du har vel ikke et eksempel ?
Avatar billede nute Nybegynder
04. maj 2001 - 15:07 #9

du oppretter en array i toppen av din side:
<script>
var kontoArr = new Array();
var counter  = 0;
</script>

deretter i din while legger du inn kontonummer i din array for hver iterasjon:
<%
while not(rs.eof)
    %><script> kontoArr[counter] = \'<%= rs(\"KontoNr\") %>\'; counter++</script><%
    response.write \"<option value=\"\"\" & trim(rs(\"Initialer\")) & \"\"\">\" & trim(rs(\"Initialer\"))
    rs.movenext
wend       
%>

så skal din onChange se sånn ut:

<SELECT name=\"Initialer\" style=\"width:150;\" onChange=\"document.RekvirentRediger.KontoNr.value= kontoArr[this.options.selectedIndex];\">         

/nute
Avatar billede stig3 Mester
04. maj 2001 - 15:19 #10
Det er sku godt gået. Man skulle næsten tro at du havde øvet dig hjemmefra :-)

Det færdige resultat:
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<script>
var kontoArr = new Array();
var counter  = 0;
</script>

<%
Set conn = Server.CreateObject(\"ADODB.Connection\")
conn.open \"DSN=BookingData;uid=sa;pwd=;APP=BookingDB;Database=BookingDB\"

sql=\"SELECT Anretning FROM Anretninger ORDER BY AnretID ASC;\"
set rs= conn.execute(sql)
%>
<html>
<head>
    <title>Untitled</title>
</head>
<body>
<form name=\"RekvirentRediger\" action=\"RekvirentGem.asp\">
<i><b>Rediger Rekvirent:</b></i>
<table>
    <tr>
        <td>Initialer</td>
        <td>
        <SELECT name=\"Initialer\" style=\"width:150;\" onChange=\"document.RekvirentRediger.KontoNr.value= kontoArr[this.selectedIndex];\">         
            <%
            sql=\"SELECT Initialer, KontoNr FROM Rekvirent ORDER BY Initialer ASC;\"
            set rs= conn.execute(sql)

            while not(rs.eof)
            %><script> kontoArr[counter] = \'<%= rs(\"KontoNr\") %>\'; counter++</script><%
            response.write \"<option value=\"\"\" & trim(rs(\"Initialer\")) & \"\"\">\" & trim(rs(\"Initialer\"))
            rs.movenext
            wend       
   
            %>
        </SELECT>
        </td>
    </tr>
    <tr>
        <td>Konto Nummer</td>
        <td><input type=\"text\" name=\"KontoNr\" size=\"15\"></td>
    </tr>
</table>
<input type=\"submit\" Value=\"Gem Rekvirenten\">
</form>
</body>
</html>
<% \'Luk alle connections
  rs.close
  conn.close
%>

Og det virker efter hensigten.

Jeg ændrede:
[this.options.selectedIndex] til [this.selectedIndex]

som du startede med at foreslå. Første indskydelse er åbenbart den rigtige.

Mange tak for hjælpen !!!!
Avatar billede nute Nybegynder
04. maj 2001 - 15:21 #11
selv takk :)
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