26. august 2003 - 09:19Der er
5 kommentarer og 1 løsning
Informationer skal hentes fra db og smides i nogle arrays
jeg har følgende javascript kode:
<script language="JavaScript"> var Kunde1 = new Array(); Kunde1[0] = new Entry("1", "TEST ","Her kommer en eller anden information om Test."); var Modul1 = new Array(); Modul1[0] = new Entry("1_1", "HTML", "HTML modulet er til diverse sider."); var Temaområde1_1 = new Array(); Temaområde1_1[0] = new Entry("1_1_1","Forside","Information om forsiden.","1"); Temaområde1_1[1] = new Entry("1_1_2","Fagseminar","Her er nogle informationer om fagseminar modulet.","2");
Hvordan får jeg lavet så jeg kan trække informationer ud fra en database og smide det ind i overstående arrays? Altså noget lig følgende:
var Kunde1 = new Array(); Kunde1[0] = new Entry("1", "rs("Navn") ","rs("Information")");
Mine arrays skal ligge i min javascript for ellers virker kode jo ikke.
var Kunde = new Array(); Kunde[0] = new Entry("1 "," Administrator ","TEST");
Men der bliver ikke vist noget på siden. Her er hele kode hvis det hjælper: <!-- #INCLUDE FILE="dbOpen.asp" --> <% sql= "SELECT * FROM Kunder" rs.Open Sql, Conn,1
var Kunde = new Array(); Kunde[0] = new Entry("<%=counter%> "," <%=rs("Navn")%> ","TEST");
var Modul1 = new Array(); Modul1[0] = new Entry("1_1", "HTML", "HTML modulet er til diverse sider."); var Temaområde1_1 = new Array(); Temaområde1_1[0] = new Entry("1_1_1","Forside","Information om forsiden.","winxp-2k_45.23"); Temaområde1_1[1] = new Entry("1_1_2","Fagseminar","Her er nogle informationer om fagseminar modulet.","winnt_43.45");
function InitializeKunde(currentForm) { for (var i=0; i < Kunde.length; i++) { eval(currentForm + ".Kunde.options[i] = new Option('" + Kunde[i].Name + "')"); eval(currentForm + ".Kunde.options[i].value = " + Kunde[i].ID); } }
function PopulatePane(currentPane, paneToPopulate) { var selectedArray, i; var selected = currentPane.options[currentPane.selectedIndex].value if (selected == 0) { if (currentPane.selectedIndex != 0) selected = currentPane.options[--currentPane.selectedIndex].value; else { currentPane.selectedIndex = -1; return false; } }
var bName = navigator.appName; var bVer = parseInt(navigator.appVersion); var NS4 = (bName == "Netscape" && bVer == 4); var NS6 = (navigator.vendor == "Netscape6"); var IE4 = (bName == "Microsoft Internet Explorer" && bVer >= 4); var Opera = (window.opera)
if (NS4) { layerRef="document.layers"; styleSwitch=""; } else if (IE4) { layerRef="document.all"; styleSwitch=".style"; } else if (NS6 || Opera) { layerRef="document.getElementById"; styleSwitch=".style"; } // --> </script> </head>
Hvis du erstatter Kunde[0] i overstående med følngede: Kunde[0] = new Entry("1"," Test ","TEST"); Og sætter ' foran følgende: 'do while not EOF 'rs.movenext 'Loop Så kan du se at koden virker fint. Hvorfor gør den det så ikke når den henter fra databasen?
Så får jeg kun udskrevet følgende på min side hvis jeg ser sidens kode:
<script language="JavaScript">
var Kunde = new Array(); Kunde[0] = new Entry("1 "," Administrator ","TEST");
var Kunde = new Array(); Kunde[0] = new Entry("1 "," Sge ","TEST");
var Kunde = new Array(); Kunde[0] = new Entry("1 "," Just2funny ","TEST");
var Kunde = new Array(); Kunde[0] = new Entry("1 "," <font face="Arial" size=2> <p>ADODB.Field</font> <font face="Arial" size=2>error '80020009'</font> <p> <font face="Arial" size=2>Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.</font> <p> <font face="Arial" size=2>/cifm/system.asp</font><font face="Arial" size=2>, line 0</font>
du mangler at køre en if rs.eof - det er det følgende betyder; Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record
Do While Not rs.EOF %> Kunde[<%=rs("KundeID")%>] = new Entry("<%=rs("KundeID")%> "," <%=rs("Navn")%> ","TEST"); <% rs.movenext loop %> <!-- #INCLUDE FILE="dbClose.asp" -->
Nu udskriver den informationerner fra databasen som den skal men den udskriver ikke den første del af min kode: <script language="JavaScript"> <!-- function Entry(ID, Name, DescriptionText, URL) { this.ID = ID; this.Name = Name; this.DescriptionText = DescriptionText; this.URL = URL; } var Kunde = new Array();
Hvad kan jeg gøre for at få den til den? Jeg syntes ikke at det hjalp at smide det i en <% %> med en response.write men det er måske mig der koder forkert. Hvad kan jeg gøre?
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.