Just nu i M3-nätverket
Gå till innehåll

Pop up fönster i ASP-kod


Inkan

Rekommendera Poster

Hej!

 

Går det att lägga in javascriptkod i asp-kod med koppling till databas? Jag försöker med nedanstående script, men det funkar ej.

 

<SCRIPT LANGUAGE="JavaScript1.1">

 

Response.Write"<a href=window.open("'& objRS("pop") & ".html', 'theForm', Response.Write"'scrollbars,resizable,height=520,width=620,top=0,left=80');"

Response.Write">" & objRS("lank") & "</a>"

</script>

1000 tack på förhand

/Inkan

 

Länk till kommentar
Dela på andra webbplatser

  • Svars 58
  • Skapad
  • Senaste svar
Rickard Liljeberg

Du avslutar aldrig din första Response.Write ordenligt utan påbörjar en ny utan att ha avslutat den första.

 

Länk till kommentar
Dela på andra webbplatser

Tack för ditt svar!

Ok slarvigt av mig.Jag har dock försökt med alla möjliga varianter. Så här ser koden ut nu, dessvärre syns inte länken ("lank") i fönstret.

 

 

Response.Write"<SCRIPT LANGUAGE='JavaScript1.1'>"

Response.Write"<a href=window.open(" '& objRS("pop") & ".html', 'theForm'," Response.Write" 'scrollbars,resizable,height=520,width=620,top=0,left=80');"

Response.Write">" & objRS("lank") & "</a>"

Response.Write"</script>"

 

 

 

Länk till kommentar
Dela på andra webbplatser

Rickard Liljeberg

Men på denna raden

Response.Write"<a href=window.open(" '& objRS("pop") & ".html',

 

skall inte ' sitta före " dvs open('" istället för open("'

 

Länk till kommentar
Dela på andra webbplatser

Tack för ditt engagemang! :-)

Det som genereras är ("txt") längre ner i koden. Tar jag däremot bort taggarna för javascript visas länk plus text. Men då funkar inte popupen. Gör jag tvärtom och lägger in hela nedanstående kod inom script-taggar visas ingenting.

 

Response.Write"<SCRIPT LANGUAGE='JavaScript1.1'>"

 

Response.Write"<a href=window.open(' " & objRS("pop") & ".html', 'theForm',"

Response.Write" 'scrollbars,resizable,height=520,width=620,top=0,left=80');"

Response.Write">" & objRS("lank") & "</a>"

 

Response.Write"</script>"

 

Response.Write"<font class='tunn'> " & objRS("txt") & "</font></td><tr></tr>"

 

 

[inlägget ändrat 2003-08-03 16:48:56 av Inkan]

Länk till kommentar
Dela på andra webbplatser

Rickard Liljeberg

i framtida versioner av xhtml (vilket ersätter html) så skall man inte använda language till <script> utan type="text/javascript"

 

så det blir istället <script type='text/javascript'>

 

Men det jag helst vill se är den koden som generas i dom olika fallen. för att enkelt felsöka så behöver man ha både koden och vad som genereras så kan man se det mkt snabbare.

 

jag ser en sak som kanske kan jevlas med dig lite.

du har en a href=... och i den strängen som kommer är där kanske mellanrum vilket gör att den kan tolkas fel så lägg in så det blir a href="..." istället vilket du gör mha

Response.Write"<a href=\"window.....osv....\"

 

sen kan jag nämna att font också kommer att försvinna från standarden så använd en span el div istället och använd style på den (el class som du har på din font)

 

men som sagt, jag vill göra ha den genererade koden för att kunna säga mer exakt

 

Länk till kommentar
Dela på andra webbplatser

Jag hoppas jag förstår rätt nu. Jag skickar hela koden plus den kod som tar emot argument och sätter in dem i tabellen. (Är inte så bra på det här ännu som du säkert förstår)

 

 

Först är här koden som tar emot argumenten.

<%@ Language=VBScript %>

<% Option Explicit %>

 

<%

Dim strLank,strText,strPop,db,sql

 

strLank=Request.Form("lank")

strText=Request.Form("txt")

strPop=Request.Form("pop")

Set db= Server.CreateObject ("ADODB.connection")

db.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/databas.mdb")

 

sql = "INSERT INTO Tabell VALUES('" & strLank & "', '" & strText& "', '" & strPop& "')"

 

db.Execute sql

 

 

db.Close

Set db = Nothing

 

%>

 

<html>

<body>

<a href="sida.asp"><font color="#003366" size="4">Se sidan</font></a>

</body>

</html>

 

Och här är koden som ska visa sidan. I detta fall visas endast texten, dvs det som ligger i ("txt"). Länken visas inte eftersom ("lank") ligger inom <script>-taggarna.

 

<%

Dim objConn, sql

Set objConn=Server.CreateObject("ADODB.Connection")

 

objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/databas.mdb")

 

Dim objRS

Set objRS=Server.CreateObject("ADODB.Recordset")

sql="SELECT * FROM Tabell"

objRS.Open sql, objConn

 

Do While Not objRS.EOF

 

Response.Write"<SCRIPT TYPE='text/javascript'>"

Response.Write"<a href=window.open('"&objRS("pop")&".html', 'theForm',"

Response.Write" 'scrollbars,resizable,height=520,width=620,top=0,left=80');"

Response.Write">"& objRS("lank")&"</a>"

Response.Write"</script>"

Response.Write"<div class='tunn'>"& objRS("txt")&"</div>"

 

objRS.MoveNext

Loop

 

objRS.Close

Set objRS=Nothing

 

objConn.Close

Set objConn=nothing

%>

</body>

</html>

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Rickard Liljeberg

Det jag vill ha är det som genereras ut till webläsaren där problemet ligger och inte själva koden som körs på servern

 

Länk till kommentar
Dela på andra webbplatser

Koden nedan genererar följande

http://www.stilett.se/admin/sida.asp

 

Response.Write"<SCRIPT TYPE='text/javascript'>"

Response.Write"<a href=window.open('"&objRS("pop")

&".html', 'theForm',"

Response.Write" 'scrollbars,resizable,height=520,width=620,top=0,left=80');"

Response.Write">"& objRS("lank")&"</a>"

Response.Write"</script>"

Response.Write"<div class='tunn'>"& objRS("txt")&"</div></td><tr></tr>"

 

 

Om man tar bort script-taggarna helt som jag nämnde tidigare blir det så här:

http://www.stilett.se/admin/sida2.asp

 

Länken kommer fram men funkar ej som popup.

Hoppas att jag nu har förstått...

 

Länk till kommentar
Dela på andra webbplatser

Rickard Liljeberg

suck vad borta jag är :

svaret är rysligt enkelt... så klart...

 

det du gör är följande

 

<script>

html kod....

</script>

det får man givetvis inte ha

mellan script taggarna så måste ALLT vara javascript.

 

gör istället så här att du skriver utan script taggarna, så skriver du nåt i stil med

 

<a href="#" onclick="window.open(...)">whatever</a>

 

Länk till kommentar
Dela på andra webbplatser

Jaha ok. Nu ser det ut som koden nedan. Det öppnas ett nytt fönster men inte som popup, dvs fönstret öppnas i full storlek. Det verkar som om webläsaren inte bryr sig om height och width osv.

 

Response.Write"<a href="&objRS("pop")&".html onclick=window.open('theForm',"

Response.Write" 'scrollbars,resizable,height=200,width=200,top=0,left=80');"

Response.Write">"& objRS("lank")&"</a>"

Response.Write"<div class='tunn'>"& objRS("txt")&"</div

 

http://www.stilett.se/admin/sida.asp

[inlägget ändrat 2003-08-04 00:50:55 av Inkan]

Länk till kommentar
Dela på andra webbplatser

Rickard Liljeberg

hihi jo om du tittade på det jag skrev så skrev jag (med utökning)

<a href="#" onclick="window.open('dittSidNamn.htm', 'whatever', 'params')">fsrd</a>

 

# i href:en säger åt den att inte gå nånstanns.

 

om du hellre vill så kan du skriva

 

<a href="javascript:window.open(...osv...)">sdffs</a>

 

Länk till kommentar
Dela på andra webbplatser

Sorry, det funkar inte i alla fall. Grejen är att jag vill uppdatera sidan genom formulär med asp-koden. Därför allt krångel med objRS(...) eftersom jag vill uppdatera sidan genom asp-formulär. Längst ner på statusraden syns den gula triangeln som visar att något i scriptet är fel, men jag undrar vad????? <:/

 

Länk till kommentar
Dela på andra webbplatser

Rickard Liljeberg

om du klickar på triangeln så får du upp felmeddelande och vilken rad det är fel på.

 

ännu bättre är om du kör mozilla eller NS och kör igång javascript console, då får du riktigt bra fel

 

Länk till kommentar
Dela på andra webbplatser

eh..en dum fråga.. hur kör man javascript console?

 

När jag klickar på triangeln visar sig att det är ett syntaxfel som ligger på en helt annan rad utanför VB-scriptet

 

Länk till kommentar
Dela på andra webbplatser

Rickard Liljeberg

om du har netscape eller mozilla så kan du välja javascript debugger under menyerna (olika för olika läsare) t.ex under tools > web development i netscape 7.

 

När den säger vilken rad det är fel på i javascriptet så menar den inte vilken rad i din sida med asp i utan sidan som genererats fram från asp:n

 

ta fram koden genom att klicka med höger musknapp och välja view source, det är i denna sourcen som man kan kolla på den raden den säger det är fel och kolla vad som är fel

 

Länk till kommentar
Dela på andra webbplatser

Jättebra jag har lärt mig nåt nytt! MEN det visar sig inte ändå i NS javascript console var felet ligger. Det enda som visar fel är själva sökvägen (adressen) till sidan, alltså inget i scriptet. Får sova på saken.

 

Länk till kommentar
Dela på andra webbplatser

Rickard Liljeberg

du har fortfarande inte gjort som jag skrev, du har

 

<a href=popupsida.html onclick=window.open('theForm', 'scrollbars,resizable,height=200,width=200,top=0,left=80');>Länk</a>

 

men du skall ha antingen

 

<a href="#" onclick="window.open('popupsida.html','theForm', 'scrollbars,resizable,height=200,width=200,top=0,left=80');">Länk</a>

 

eller

 

<a href="javascript:window.open('popupsida.html','theForm', 'scrollbars,resizable,height=200,width=200,top=0,left=80');">Länk</a>

 

Länk till kommentar
Dela på andra webbplatser

hoppsan! jag hade fört över sidan till fel katalog i ftp-kontot. Men nu finns koden där alltså

under

http://www.stilett.se/nytt/sida.asp

 

<a href="#" onclick="window.open('popupsida.html','theForm', 'scrollbars,resizable,height=200,width=200,top=0,left=80');">Länk</a>

 

 

eller från själva asp-sidan:

 

Response.Write"<a href='#' onclick=window.open('"&objRS("pop")&".html', 'theForm',"

Response.Write" 'scrollbars,resizable,height=400,width=400,top=0,left=80');"

Response.Write">"& objRS("lank")&"</a>"

Response.Write"<div class='tunn'>"& objRS("txt")&"</div></td><tr></tr>"

 

och med

 

Response.Write"<a href='javascript:window.open('"&objRS("pop")&".html', 'theForm'," ...osv

 

http://www.stilett.se/nytt/sida2.asp

 

 

Länk till kommentar
Dela på andra webbplatser

Rickard Liljeberg

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

 

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x544 Thread 0x790 DBC 0xb118d34 Jet'.

 

/nytt/sida.asp, line 38

 

 

får jags om svar

 

Länk till kommentar
Dela på andra webbplatser

 

Hos mig funkar nu att få upp sidan men det verkligt skumma är att trots att jag skriver ett ' på varje sida om # så blir det TVÅ st på vänster sida när man går in på den genererade koden. MYCKET skumt!

Så här ser det ut alltså vilket förvirrar ytterligare.

 

<td><a href=''#' onclick=window.open('popupsida.html',

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...