Mit spørgsmål er hvordan kan jeg få gentaget layernr[x] koden således at jeg ikke skal skrive koden x antal gange hvor jeg skal bruge den(nogle gange bliver det til mange gange). Jeg har prøvet med en for løkke...se kode eksempel 2, men den giver fejlen at x ikke defineret.
Kode 1 <script> var layernr=new Array(); function layer(kode) { this.kode=kode; } layernr[1]=new layer(\'<% var con = Server.CreateObject(\'ADODB.Connection\'); con.Open(\"PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=\"+Server.MapPath(\"x.mdb\")+\";\"); var rs = con.Execute(\"SELECT html FROM mouse WHERE Id =1\"); if(!rs.BOF&&!rs.EOF){ Response.Write(rs(\'html\')); } con.Close() delete con;%>\')
layernr[2]=new layer(\'<% var con = Server.CreateObject(\'ADODB.Connection\'); con.Open(\"PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=\"+Server.MapPath(\"x.mdb\")+\";\"); var rs = con.Execute(\"SELECT html FROM mouse WHERE Id =2\"); if(!rs.BOF&&!rs.EOF){ Response.Write(rs(\'html\')); } con.Close() delete con;%>\')
function aaben(x) { if (navigator.appName==\"Netscape\") { with(layernr[x]) { document.layers[\'layerNC\'].document.writeln(kode); document.layers[\'layerNC\'].document.close();} document.layers[\'layerNC\'].visibility=\"show\"; } if (navigator.appName==\"Microsoft Internet Explorer\") { with(layernr[x]) { layerIE.innerHTML=kode;} layerIE.style.visibility=\"visible\"; } }
function luk(x) { if (navigator.appName==\"Netscape\") { document.layers[\'layerNC\'].visibility=\"hide\"; } if (navigator.appName==\"Microsoft Internet Explorer\") { layerIE.style.visibility=\"hidden\"; } } </script>
kode 2 <script>
var layernr=new Array(); function layer(kode) { this.kode=kode; }
for (x=1;x<20;x=x+1){ layernr[x]=new layer(\'<% var con = Server.CreateObject(\'ADODB.Connection\'); con.Open(\"PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=\"+Server.MapPath(\"x.mdb\")+\";\"); var rs = con.Execute(\"SELECT html FROM mouse WHERE Id = \"+x+\";\"); if(!rs.BOF&&!rs.EOF){ Response.Write(rs(\'html\')); } con.Close() delete con;%>\') }
function aaben(x) { if (navigator.appName==\"Netscape\") { with(layernr[x]) { document.layers[\'layerNC\'].document.writeln(kode); document.layers[\'layerNC\'].document.close();} document.layers[\'layerNC\'].visibility=\"show\"; } if (navigator.appName==\"Microsoft Internet Explorer\") { with(layernr[x]) { layerIE.innerHTML=kode;} layerIE.style.visibility=\"visible\"; } }
function luk(x) { if (navigator.appName==\"Netscape\") { document.layers[\'layerNC\'].visibility=\"hide\"; } if (navigator.appName==\"Microsoft Internet Explorer\") { layerIE.style.visibility=\"hidden\"; } } </script>
Ok. Jo det kan du godt. men du kan IKKE gøre det med en javascript løkke. du må bruge en ASP løkke.
ASP virker på serveren. det kan bestemme hvad der skal stå i den fil der sendes til klienten (brugeren).
når klienten så har nodtaget den fil kan ASP overhovedet ikke bruges mere. der står det der står. derefter kommer så javascript og kan påvirke hvad der bliver vist af det der står. men du kan ikke bruge javascript til at påvirke hvordan din asp skal generere filen.
Nu har jeg pillet forbindelsen ud af layernr[], se del-kode 3
Del-kode 3 <%var con = Server.CreateObject(\'ADODB.Connection\'); con.Open(\"PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=\"+Server.MapPath(\"hri.mdb\")+\";\"); %> layernr[1]=new layer(\'<% var rs = con.Execute(\"SELECT html FROM mouse WHERE Id =1\"); if(!rs.BOF&&!rs.EOF){ Response.Write(rs(\'html\')); }%>\')
layernr[2]=new layer(\'<% var rs = con.Execute(\"SELECT html FROM mouse WHERE Id =2\"); if(!rs.BOF&&!rs.EOF){ Response.Write(rs(\'html\')); }%>\') <% con.Close() delete con; %>
Men hvis du siger jeg skal lave løkken i ASP, har du så et forslag?
<% for count = 1 to 20 %> layernr[<% =count %>]=new layer(\'<% var rs = con.Execute(\"SELECT html FROM mouse WHERE Id = \" & count ); if(!rs.BOF&&!rs.EOF){ Response.Write(rs(\'html\')); }%>\') <% next %>
men det er mest gætteri. Jeg er som sagt ikke vældig god til asp.
Undskyld det tog lidt tid....men arbejdet tog overhånd.
Jeg prøvede men det virkede ikke, da scriptet er et javascript, kan jeg ikke gå over i ASP.
For at det skulle virke skal det hele være i asp....og det dutter ikke, sorry
Well scriptet virker som det er, jeg ville jo bare forenkle det....men det lader sig nok ikke umiddelbart gøre?
Synes godt om
Ny brugerNybegynder
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.