27. april 2000 - 10:00
Der er
18 kommentarer og 1 løsning
Fejl i scrip i Netscape
Jeg har følgende asp-fil, med lidt JS også. Det hele virker fint i IE, men i Netscape virker det ikke : -------------------------------------- <body bgcolor="#ffcc00"> <% Connection = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("varer.mdb") Set Conn = Server.CreateObject("ADODB.Connection") Conn.open Connection Sql = "SELECT * FROM varegrupper ORDER BY id" Set rs = Conn.execute( Sql ) %> <html> <head> <script language="JavaScript"> <% do until rs.eof response.write "g" & rs("id") & "=" & "'" & rs("Emnewebside") & "'" & VbCrLf rs.MoveNext x = x + 1 loop rs.MoveFirst %> function def() { <% do until rs.eof response.write "if (document.forms.form.sted.value == " & "'g" & rs("id") & "'" & ")" & VbCrLf & "{" & VbCrLf & "side = """ & rs("Emnewebside") & """" & VbCrLf & "id = """ & rs("Varegruppe") & """" & VbCrLf & "}" & VbCrLf & VbCrLf rs.MoveNext loop rs.MoveFirst %> } function go() { parent.visvarer.location.href="visvarer.asp?varegruppe=" + id parent.visvare.location.href=side } </script> </head> <body onload="java script:def()"> <!-- **************** Start form med undergruppe-menu *********************** --> <form name="form"> <font size=2 face=Verdana,Arial,Helvetica><b>Velg varegruppe :</b></font> <select name="sted" onchange="java script:def()"> <% x = 0 do until rs.eof %> <option value="g<%=rs("id") %>" <%if x = 0 then response.write " selected" %>> <%=rs("Varegruppe") %> </option> <% rs.Movenext x = x + 1 loop %> </select> <input type="button" value="Vis" onclick="go()"> </form> <!-- **************** Slutt form med undergruppe-menu *********************** --> </body> </html> <% Set rs = Nothing Conn.close Set Conn = Nothing %> --------------------- Er der nogle som ser hvad problemet er?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
27. april 2000 - 10:22
#1
Du skal ikke skrive onload="java script:def()" onchange="java script:def()" men bare onload="def()" onchange="def()"
27. april 2000 - 10:47
#2
Tak for svaret, men det virker stadigvæk ikke. Jeg har ændret onload="java script:def()" onchange="java script:def()" til : onload="def()" onchange="def()"
27. april 2000 - 10:55
#3
Ok, fint nok. Kunne du poste det JavaScript der bliver genereret, eller sige hvad Netscape siger der er fejl?
27. april 2000 - 11:01
#4
Nu er jeg ikke helt med - Hvad mener du med "det JavaScript der bliver genereret"?. Men Netscape giver følgende fejl : NS 4.06DK - "Error in file, line 75. ID is not defeind". Eller noget tilsvarende. NS 4.61UK - Her står der bare "JavaScript error" i statusbaren.
27. april 2000 - 11:03
#5
Jamen, så siger vi den HTML-fil med JavaScript indeni. Du kan bruge "Vis kilde" eller hvad den nu hedder i din browser. Nu skal du lære et godt trick: Når du i Netscape (4.5+ tror jeg), skal se fejlen, så skriv java script: i adresselinien. Så får du et vindue hvor fejlene bliver beskrevet.
27. april 2000 - 11:05
#6
Hmm, hvad mener du med linien: parent.visvarer.location.href="visvarer.asp?varegruppe=" + id Hvor kommer id fra (det er lidt svært at overskue...) ?
27. april 2000 - 11:10
#7
OK - Men det er hele filen jeg har postet her. id kommer fra databasen (primær nøglen). Det er ikke mig selv som har skrevet koden, og jeg forstår ikke selv så meget af den. Kan det være muligt at linjen : parent.visvarer.location.href="visvarer.asp?varegruppe=" + id Skal ændres til : parent.visvarer.location.href="visvarer.asp?varegruppe=" + rs("id") Eller er det ikke tilladt i JS. Tak for tipset om java script: i NS
27. april 2000 - 11:14
#8
Jo, det er ASP-filen. Men den kan jeg ikke afvikle og teste. Men hvis du sender HTML-filen, sådan som browseren ser den, kan jeg gøre mere. Nej det er ikke rs("id") der skal stå der, får det er ASP, og du er slet ikke inde i et tabelgennemlkøb.
27. april 2000 - 11:16
#9
:-) Nu forsår jeg - sorry : ----------------------------------- <body bgcolor="#ffcc00"> <html> <head> <script language="JavaScript"> g1='gpsmottakere.html' g2='kabeler.html' g3='plugger.html' g4='programvare.html' g5='bok.html' g6='diverse.html' g7='antenner.html' g8='kart.html' function def() { if (document.forms.form.sted.value == 'g1') { side = "gpsmottakere.html" id = "GPS" } if (document.forms.form.sted.value == 'g2') { side = "kabeler.html" id = "Garmin_Kabler" } if (document.forms.form.sted.value == 'g3') { side = "plugger.html" id = "Plugger" } if (document.forms.form.sted.value == 'g4') { side = "programvare.html" id = "Programvare" } if (document.forms.form.sted.value == 'g5') { side = "bok.html" id = "Bøker" } if (document.forms.form.sted.value == 'g6') { side = "diverse.html" id = "Diverse" } if (document.forms.form.sted.value == 'g7') { side = "antenner.html" id = "Antenner" } if (document.forms.form.sted.value == 'g8') { side = "kart.html" id = "Kart" } } function go() { parent.visvarer.location.href="visvarer.asp?varegruppe=" + id parent.visvare.location.href=side } </script> </head> <body onload="def()"> <!-- **************** Start form med undergruppe-menu *********************** --> <form name="form"> <font size=2 face=Verdana,Arial,Helvetica><b>Velg varegruppe :</b></font> <select name="sted" onchange="def()"> <option value="g1" selected> GPS </option> <option value="g2" > Garmin_Kabler </option> <option value="g3" > Plugger </option> <option value="g4" > Programvare </option> <option value="g5" > Bøker </option> <option value="g6" > Diverse </option> <option value="g7" > Antenner </option> <option value="g8" > Kart </option> </select> <input type="button" value="Vis" onclick="go()"> </form> <!-- **************** Slutt form med undergruppe-menu *********************** --> </body> </html> -----------------------------
27. april 2000 - 11:25
#10
Ok, nu har jeg den. Man kan ikke bare i Netscape aflæse en selects value: function def() { vvv=document.forms.form.sted.options[document.forms.form.sted.selectedIndex].value; <% do until rs.eof response.write "if (vvv == " & "'g" & rs("id") & "'" & ")" & VbCrLf & "{" & VbCrLf & "side = """ & rs("Emnewebside") & """" & VbCrLf & "id = """ & rs("Varegruppe") & """" & VbCrLf & "}" & VbCrLf & VbCrLf rs.MoveNext loop rs.MoveFirst %> } der er to ændringer.
27. april 2000 - 11:58
#11
Jaja, der kom jeg lidt videre, mange tak for hjælpen. Men nu kom der et nytt problem. Når man har valgt et menupunkt, i filen, som du rettede, bliver man sendt til følgende fil : ---------------------------- <% session.LCID = 1030 %> <html> <head> <!-- <link rel=stylesheet type="text/css" href="style.css"> --> </head> <body> <body bgcolor="#ffcc00"> <% if not request.QueryString("Varegruppe") = "" then Connection = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("varer.mdb") Set Conn = Server.CreateObject("ADODB.Connection") Conn.open Connection Sql = "SELECT DISTINCT undergruppe FROM " & request.QueryString("Varegruppe") Set rs = Conn.execute( Sql ) do until rs.eof or rs.bof %> <li><a href="visvare.asp?varegruppe=<%=request.QueryString("Varegruppe") %>&undergruppe=<%=rs("Undergruppe") %>" target="visvare"> <%=rs("Undergruppe") %> </a> <br> <% rs.MoveNext loop Set rs = Nothing Conn.close Set Conn = Nothing %> </body> </html> <% else %> <html> <body> </body> </html> <% end if %> ------------------------------- Men her svarer serveren bare med : HTTP Error 400 400 Bad Request Due to malformed syntax, the request could not be understood by the server. The client should not repeat the request without modifications. Dette sker bare i NS, ikke i EI.
27. april 2000 - 12:01
#12
Ok, hvad står der i felterne rs("emneside") og rs("varegruppe"). Er det tekster med f.eks. mellemrum i ?
27. april 2000 - 12:05
#13
Hvis det er tilfældet skal du for alle felter, der skal stå i din url skrive: Server.URLEncode(rrs("Emnewebside")) som laver alt det "ulovlige" om til hex-tal, f.eks. mellemrum til %20, og det er standarden siger, der må stå !
27. april 2000 - 12:10
#14
I rs("emneside") står der en url og i rs("varegruppe") et navn. Ingen mellemrum nogle steder (men en underscore _ ).
27. april 2000 - 12:29
#15
Nej, men der står da ø et sted ;;-) Put du hellere sådan en urlencode rundt om.
28. april 2000 - 21:32
#16
def :-)
Har vi stadig liv i denne her ???
erikjacobsen>> Ja, beklager men jeg har haft lidt dårlig tid. Jeg fik det aldrig helt til at virke, med at skrive Server.URLEncode(rrs("Emnewebside")). Men jeg skal prøve igen senere i dag.
Vi tilbyder markedets bedste kurser inden for webudvikling