Toon posts:

[ASP] <SCRIPT> als string gebruiken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik loop tegen een klein probleem aan, en kom er ff niet meer uit. Ik gebruik een ASP string om een JavaScript <SCRIPT> tag aan te geven. Alleen zegt de parser dat ik geen script mag gebruiken binnen een script, en dat is vreemd wat ik gebruik deze functie binnen een string :{

Search gaf helaas niets terug, evenals 4 ASP boeken die ik alle 4 open heb liggen hier :P
code:
1
SetTo = SetTo & "</table><script>top.applications.HideLoading();</script>"

Ik heb vanalles geprobeerd. Toevoegen van back-forwardslashes, etc..

De foutmelding die ik ontvang is plain simple.
code:
1
2
3
4
Error Type:
Active Server Pages, ASP 0138 (0x80004005)
A script block cannot be placed inside another script block.
/runnermeubel/modules/search/act_search.asp, line 59

  • muis|IA
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
als je ipv
<SCRIPT>
dit gebruikt?
<SCRIPT language=javascript>

misschien werkt dit?

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


Verwijderd

Topicstarter
Net geprobeerd maar hij vertikt dat ook. Normaal zou je dan zeggen dan zet je er backslashes bij. Maar ik vind het zowiezo al oerdom dat de ASP parser het niet detecteerd als onderdeel van een string ipv een vbscript commando.

  • muis|IA
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
hoe open je je asp script dan?

met <%
of
met iets als
SCRIPT language=vbscript ....

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


Verwijderd

Topicstarter
Als volgt. Tevens option explicit om ge**** te voorkomen ;)

<%@ LANGUAGE=VBSCRIPT%>
<%option explicit%>

Wellicht overbodig, en lang, maar mocht het in mijn opbouw zitten geef dan ff een gil :) Ik ben sinds een paar dagen weer druk bezig met ASP en het is voor mij al 1,5 jaar geleden dat ik er druk mee was :+

De regel waar de ASP parser over begint te zeuren staat in de 10de regel van onderen. De ASP var SetTo wordt vervolgens in JavaScript gebruikt.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<%@ LANGUAGE=VBSCRIPT%>
<%option explicit%>

<%
Dim Qry_Search1 'As String
Dim Qry_Search2 'As String
Dim Qry_Search3 'As String
Dim Function2 'As String
Dim Function3 'As String
Dim Zoekgebied 'As String
Dim location 'As String
Dim rsSearch
Dim strSQL
Dim SetTo

%>


<!--#include file="includes/connDB.asp"-->
<%
strSQL = null

' *** Met snelzoeken
If Request.Form("search_qry1") = "" Then
    If Request.Form("zoekgebiedf") = "modelcode" Then
        strSQL = strSQL & "SELECT modelcode,modelnaam,runnercode FROM modelnamen WHERE modelcode LIKE '%"&Request.Form("search_qry1f")&"%' ORDER BY modelcode ASC"
    ElseIf Request.Form("zoekgebiedf") = "modelomschrijving" Then
        strSQL = strSQL & "SELECT modelcode,modelnaam,runnercode FROM modelnamen WHERE modelcode LIKE '%"&Request.Form("search_qry1f")&"%'"
    ElseIf Request.Form("zoekgebiedf") = "artikelregels" Then
        strSQL = strSQL & "SELECT modelcode,modelnaam,runnercode FROM modelnamen WHERE modelcode LIKE '%"&Request.Form("search_qry1f")&"%'"
    End If
' *** Met uitgebreid zoeken
Else
    ' functie nog niet gecoded
End If

response.write(strSQL)
%>



<!--- SET APPROPRIATE FRAME LOCATIONS --->
<script type="text/javascript">
<%
If Request.Form("search_qry1") = "" Then
    '*** bij zoeken op modelcode
    If Request.Form("zoekgebiedf") = "modelcode" Then
        SetTo = "<table border=0 cellspacing=0 cellpadding=0 width=95% ><tr><td class=column_head height=20>modelcode</td><td class=column_head>modelnaam</td><td class=column_head>runnercode</td><td class=column_head>&nbsp;</td></tr>"
        Set rsSearch = cnnDB.Execute(strSQL)
 
         If rsSearch.EOF Then
            SetTo = SetTo & "<tr><td class=column colspan=4>Uw zoekactie gaf geen resultaten terug</td></tr>"
        Else
            Do While Not rsSearch.EOF
                SetTo = SetTo & "<tr><td class=column height=20 style=background:#F7F7F7>"&rsSearch.Fields("modelcode")&"</td><td class=column>"&rsSearch.Fields("modelnaam")&"</td><td class=column>"&rsSearch.Fields("runnercode")&"</td><td class=column>&nbsp;</td></tr>"
                rsSearch.MoveNext
            Loop
        End If
        SetTo = SetTo & "</table><script language=javascript>top.applications.HideLoading();</script>"
    End If
' *** Met uitgebreid zoeken
Else
    ' functie nog niet gecoded
End If
response.write("SetTo="""&SetTo&"""")
%>
top.applications.ShowLoading();
top.applications.contentFrame.results.innerHTML = SetTo;
</script>

  • muis|IA
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
je opent je javascript tag 2x terwijl je 'm daarboven nog niet nodig hebt
volgens mij kan je 'm hier weghalen:

<!--- SET APPROPRIATE FRAME LOCATIONS --->
<script type="text/javascript">

en hier neerzetten:

response.write("<script type=""text/javascript"">")
response.write("SetTo="""&SetTo&"""")

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


  • Kermit.de.Kikker
  • Registratie: Februari 2002
  • Laatst online: 31-08 15:15
Heb je anders dit al geprobeerd:

SetTo = SetTo & "</table><scr" & "ipt language=javascript>top.applications.HideLoading();</scr" & "ipt>"

Bij Javascript lost het zo nog wel eens wat op...

Verwijderd

Topicstarter
Op zaterdag 01 juni 2002 18:38 schreef muis het volgende:
je opent je javascript tag 2x terwijl je 'm daarboven nog niet nodig hebt
volgens mij kan je 'm hier weghalen:

<!--- SET APPROPRIATE FRAME LOCATIONS --->
<script type="text/javascript">

en hier neerzetten:

response.write("<script type=""text/javascript"">")
response.write("SetTo="""&SetTo&"""")
Dat doe ik, omdat ik eerst een JavaScript functie open. Vervolgens ga ik in de VBscript variabele SetTo adhv een recordset js-html genereren. En aan het einde van die gegenereerde recordset genereer ik een javascript wat een "bezig met laden..." layer uitschakeld.

De VbScript SetTo variabele wordt vervolgens naar een JavaScript string omgezet, en in die string zit ook die extra javascript functie. Voor het oog lijkt het dus alsof ik Javascript nest, maar die 2de javascript functie zit in een string, welke ik vervolgens in een ander frame in een DIv prop :)

Verwijderd

Topicstarter
Op zaterdag 01 juni 2002 18:43 schreef Kermit.de.Kikker het volgende:
Heb je anders dit al geprobeerd:

SetTo = SetTo & "</table><scr" & "ipt language=javascript>top.applications.HideLoading();</scr" & "ipt>"

Bij Javascript lost het zo nog wel eens wat op...
Hoezo moeilijk doen ;) Het werkt nu wel inderdaad. Bedankt! :)

Verwijderd

/me lol
Wat een briljante oplossing! Ik lach me rot man, dat dit dan wel werkt ...

Verwijderd

Haha, dit is inderdaad wel bizar zeg ;)

Verwijderd

hmm die manier word inderdaad al vaker met javascript en dergelijke gedaan.

tjah, moet je ook geen asp gebruiken he :p ( MET PHP KAN DIT WEL !!! :+ )

Verwijderd

Op zaterdag 01 juni 2002 20:56 schreef TheViP het volgende:
hmm die manier word inderdaad al vaker met javascript en dergelijke gedaan.

tjah, moet je ook geen asp gebruiken he :p ( MET PHP KAN DIT WEL !!! :+ )
Met ASP dus blijkbaar ook, wijsneus ;)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zondag 02 juni 2002 11:51 schreef Insomnia het volgende:
Met ASP dus blijkbaar ook, wijsneus ;)
Nee, blijkbaar juist niet :+

Verwijderd

Op zondag 02 juni 2002 12:20 schreef ACM het volgende:

[..]

Nee, blijkbaar juist niet :+
Haha, ja sorry je hebt gelijk. Maar met deze oplossing wel ;)

  • Kama
  • Registratie: Mei 2002
  • Laatst online: 03-09 09:19

Kama

Aritifical Intelligenticus

Dit truukje heb ik al wel vaker gezien.. Met name in banner codes...

Niels

Pagina: 1