Avatar billede Noam-9 Praktikant
31. juli 2003 - 16:54 Der er 10 kommentarer og
1 løsning

ASP og Javascript sammen

Jeg har en asp-side der genererer en stribe billeder og noget tilhørende tekst udfra et idnr i en db.
Nu vil jeg gerne have at teksten bliver skrevet så den kan komme frem i en pop-up boks lavet med overlib (http://www.bosrup.com/web/overlib/)

Her er det første udkast:

  rs.movefirst
  idnr=0
  Do Until idnr=26 or rs.EOF
    response.write("<span onmouseover='return overlib('Simpel popup', STICKY);' onmouseout='nd();'><img src=images/billeder/"&idnr&".jpg></span>")
  idnr=idnr+1
  rs.movenext
  Loop


Den giver en syntaks fejl (eller rettere 26!, én pr. billede)
Hvordan fikser jeg det?

NB. der hvor der står 'simpel popup' er det selvfølgelig meningen at den tekst der hører til et givent idnr skal genereres, men den tid den sorg.
Avatar billede roenving Novice
31. juli 2003 - 16:58 #1
-- ihvertfald får du ugyldig html-kode ud af det du har skrevet, det skal nok være:

    response.write("<span onmouseover=\"return overlib('Simpel popup', STICKY);\" onmouseout='nd();'><img src=images/billeder/"&idnr&".jpg></span>")
Avatar billede keysersoze Guru
31. juli 2003 - 16:58 #2
prøv;

rs.movefirst
idnr=0
Do Until idnr=26 or rs.EOF
    response.write("<span onmouseover=""return overlib('Simpel popup', STICKY);"" onmouseout=""nd();""><img src=""images/billeder/"&idnr&".jpg""></span>")
    idnr=idnr+1
rs.movenext
Loop

men ellers - hvilken syntaksfejl? altså står der mere i fejlen
Avatar billede Noam-9 Praktikant
31. juli 2003 - 17:08 #3
K.Soze's kommentar var rigtig (men det er kun nødvendigt med dobbelt gåseøjne om det første js, der indeholder apostroffer). Nedenstående virker.

rs.movefirst
idnr=0
Do Until idnr=26 or rs.EOF
    response.write("<span onmouseover=""return overlib('Simpel popup', STICKY);"" onmouseout="nd();"><img src="images/billeder/"&idnr&".jpg"></span>")
    idnr=idnr+1
rs.movenext
Loop

Laver du et svar så er pointene dine.
Tak for hjælpen.
Avatar billede keysersoze Guru
31. juli 2003 - 21:44 #4
jeg tvivler på at det virker på den måde - er du sikker på det? både ved src og ved din onmouseout burde der enten komme en asp-fejl eller også burde visningen af billedet og/eller javascriptet burde ikke blive kørt?

Hvad kommer der af fejl hvis du bruger mit direkte?
Avatar billede roenving Novice
31. juli 2003 - 21:55 #5
Jeg troede også på et tidspunkt, at der ville komme html-fejl, hvis ikke man brugte gåseøjne, men alle de browsere jeg har prøvet eller hørt om accepterer input i apostroffer ...
Avatar billede keysersoze Guru
31. juli 2003 - 22:01 #6
test...

''
Avatar billede keysersoze Guru
31. juli 2003 - 22:06 #7
jeg skulle lige se hvor tæt to apostroffer stod på E...

yep - stort set alle browsere acceptere apostroffer, og mange er faktisk ligeglade med om der overhovedet står noget... Men da der i ovenstående kun bruges apostroffer til js-delen så burde de forskellige gåseøjne starte og stoppe asp-fortolkningen nogle steder der gjorde at scriptet enten ikke ville vises ordentligt, fungere ordentligt eller måske endda melde asp-fejl.

Så jo - jeg kan sagtens lægge et svar, men det vil bare undre mig helt vildt meget hvis scriptet virker i den form det sidst er postet...
Avatar billede roenving Novice
31. juli 2003 - 22:31 #8
Ja det er svært at skelne !-)

-- faktisk er det en dårlig ide ikke at have noget rundt om parametre i tags, men sålænge du ikke bruger andet end standard-karakterer og undlader særlige såsom mellemrum, apostroffer osv. vil det stadig virke ...

-- det er bare en dårlig vane, som specielt alle de mennesker, som genererer deres html-kode script-mæssigt ofte forfalder til -- det er en hel del nemmere jo !o]
Avatar billede Noam-9 Praktikant
01. august 2003 - 11:53 #9
Jeg kom vist til at skrive noget vrøvl. Jeg rettede til dobbelte gåseøjne om den første onmouseover, og lod resten stå med apostroffer som i mit eget første udkast og det var det der virkede. Ikke det jeg postede sidst (31/07-2003 17:08:54).

Her der der kører på siden nu, og det virker fint. Det er lidt kluntet at der både er onmouseover og onclick hver for sig (især når det skal deles op af if-sætningen der gør det muligt at rette sige egne data) men det er den eneste måde at gøre det på da forskellen på de to events ligger i nogle commandoer og parametre i Overlib.

  rs.movefirst
  idnr=0
  Do Until idnr=26 or rs.EOF
    response.write("<span onmouseover=""return overlib('"&rs("vej")&" "&rs("vejnr")&" "&rs("etage"))
    if session("userid")=rs("id") then
      response.write("&nbsp;<a href=ret.asp?id="&rs("id")&">[ret]</a>")
    end if
    response.write("<br>"&rs("postnr")&" "&rs("byy")&"<br>"&rs("tlf")&"<br>"&rs("mobil")&"<br><a href=mailto:"&rs("email")&">"&rs("email")&"<br><a href=http://"&rs("hjemmeside")&">"&rs("hjemmeside")&"</a>', STICKY, CAPTION, '"&rs("fornavn")&" "&rs("efternavn")&"', CENTER, CLOSECLICK, CLOSETEXT, '<b>X</b>&nbsp;&nbsp;', DELAY, '1500');"" onclick=""return overlib('"&rs("vej")&" "&rs("vejnr")&" "&rs("etage"))
    if session("userid")=rs("id") then
      response.write("&nbsp;<a href=ret.asp?id="&rs("id")&">[ret]</a>")
    end if
    response.write("<br>"&rs("postnr")&" "&rs("byy")&"<br>"&rs("tlf")&"<br>"&rs("mobil")&"<br><a href=mailto:"&rs("email")&">"&rs("email")&"<br><a href=http://"&rs("hjemmeside")&">"&rs("hjemmeside")&"</a>', STICKY, CAPTION, '"&rs("fornavn")&" "&rs("efternavn")&"', CENTER, CLOSECLICK, CLOSETEXT, '<b>X</b>&nbsp;&nbsp;');"" onmouseout='nd();' style='cursor: hand'><img src=images/billeder/"&idnr&".jpg></span>")
  idnr=idnr+1
  rs.movenext
  Loop

keysersoze, du mangler stadig at poste et svar... :)
Avatar billede keysersoze Guru
01. august 2003 - 12:39 #10
der er stadig et par ting jeg ikke kan lide - men bare det virker :)
Avatar billede Noam-9 Praktikant
01. august 2003 - 13:09 #11
Hmm, hvad er det?
Umiddelbart er det eneste jeg kunne tænke mig at lave om, at fjerne span-tagget og sætte eventshandlerne på img-tagget istedet for. Span-tagget er en levn fra den måde det var lavet på før.
Ellers kan jeg ikke gennemskue hvordan det skulle kunne optimeres.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester