Quote Syntax with Javascript

S

sbailey

I'm having problems using quotes within a href statement. I posted the
FULL
CODE below, but the only problem line I have is listed in SNIPPLET
CODE 2
below. SNIPPLET CODE 1 below works correctly and I'm just trying to
modify
the href in SNIPPLET CODE 2 to include a PopWindow js function that
will
open the url in a pop-up. Although I hope to use a variable for the
url in
SNIPPLET CODE 2 below for the final version, I'm simply trying to hard-
code
the url with my PopWindow function in SNIPPLET CODE 2 to see the whole
thing
work..

Can someone take a look at SNIPPLET CODE 2 below and modify the single
and
double quotes so this function will work? I'm an ASP developer and
familiar
with handling quotes the vb way and trying to learn how to deal with
js
quote syntax.



*** SNIPPLET CODE 1:

slideHTML='<a href="'+this.theimages[picindex][1]+'"
target="'+this.theimages[picindex][2]+'">'

*** SNIPPLET CODE 2:

slideHTML='<a href='#'
onclick="javascript:popWindow('home_pop_print.asp?
pic=20070801_hop_vip_01.jpg',485,275);return false;">'


FULL CODE LISTING:

function fadepic(obj){
if (obj.degree<100){
obj.degree+=10
if (obj.tempobj.filters&&obj.tempobj.filters[0]){
if (typeof obj.tempobj.filters[0].opacity=="number") //if IE6+
obj.tempobj.filters[0].opacity=obj.degree
else //else if IE5.5-
obj.tempobj.style.filter="alpha(opacity="+obj.degree+")"
}
else if (obj.tempobj.style.MozOpacity)
obj.tempobj.style.MozOpacity=obj.degree/101
else if (obj.tempobj.style.KhtmlOpacity)
obj.tempobj.style.KhtmlOpacity=obj.degree/100
else if (obj.tempobj.style.opacity&&!obj.tempobj.filters)
obj.tempobj.style.opacity=obj.degree/101
}
else{
clearInterval(fadeclear[obj.slideshowid])
obj.nextcanvas=(obj.curcanvas==obj.canvasbase+"_0")? obj.canvasbase
+"_0" :
obj.canvasbase+"_1"
obj.tempobj=iebrowser? iebrowser[obj.nextcanvas] :
document.getElementById(obj.nextcanvas)
obj.populateslide(obj.tempobj, obj.nextimageindex)
obj.nextimageindex=(obj.nextimageindex<obj.postimages.length-1)?
obj.nextimageindex+1 : 0
setTimeout("fadearray["+obj.slideshowid+"].rotateimage()", obj.delay)
}
}

fadeshow.prototype.populateslide=function(picobj, picindex){
var slideHTML=""
if (this.theimages[picindex][1]!="") //if associated link exists for
image
slideHTML='<a href="'+this.theimages[picindex][1]+'"
target="'+this.theimages[picindex][2]+'">'
slideHTML+='<img src="'+this.postimages[picindex].src+'"
border="'+this.imageborder+'px">'
if (this.theimages[picindex][1]!="") //if associated link exists for
image
slideHTML+='</a>'
picobj.innerHTML=slideHTML
}
fadeshow.prototype.rotateimage=function(){
if (this.pausecheck==1) //if pause onMouseover enabled, cache object
var cacheobj=this
if (this.mouseovercheck==1)
setTimeout(function(){cacheobj.rotateimage()}, 100)
else if (iebrowser&&dom||dom){
this.resetit()
var crossobj=this.tempobj=iebrowser? iebrowser[this.curcanvas] :
document.getElementById(this.curcanvas)
crossobj.style.zIndex++

fadeclear[this.slideshowid]=setInterval("fadepic(fadearray["+this.slideshowid
+"])",50) this.curcanvas=(this.curcanvas==this.canvasbase+"_0")?
this.canvasbase+"_1": this.canvasbase+"_0" } else{ var
ns4imgobj=document.images['defaultslide'+this.slideshowid]
ns4imgobj.src=this.postimages[this.curimageindex].src }
this.curimageindex=(this.curimageindex<this.postimages.length-1)?
this.curimageindex+1 : 0 } fadeshow.prototype.resetit=function()
{ this.degree=10 var crossobj=iebrowser?
iebrowser[this.curcanvas] :document.getElementById(this.curcanvas) if
(crossobj.filters&&crossobj.filters[0]){ if (typeof
crossobj.filters[0].opacity=="number") //if IE6+
crossobj.filters(0).opacity=this.degree else //else if IE5.5-
crossobj.style.filter="alpha(opacity="+this.degree+")" } else if
(crossobj.style.MozOpacity) crossobj.style.MozOpacity=this.degree/101
else if (crossobj.style.KhtmlOpacity)
crossobj.style.KhtmlOpacity=this.degree/100 else if
(crossobj.style.opacity&&!crossobj.filters)
crossobj.style.opacity=this.degree/101 }
fadeshow.prototype.startit=function(){ var crossobj=iebrowser?
iebrowser[this.curcanvas] :document.getElementById(this.curcanvas)
this.populateslide(crossobj, this.curimageindex) if
(this.pausecheck==1){ //IF SLIDESHOW SHOULD PAUSE ONMOUSEOVER var
cacheobj=this var crossobjcontainer=iebrowser?
iebrowser["master"+this.slideshowid] :document.getElementById("master"+this.slideshowid)
crossobjcontainer.onmouseover=function(){cacheobj.mouseovercheck=1}
crossobjcontainer.onmouseout=function(){cacheobj.mouseovercheck=0} }
this.rotateimage() }
 
D

David Mark

I'm having problems using quotes within a href statement. I posted the
FULL
CODE below, but the only problem line I have is listed in SNIPPLET
CODE 2
below. SNIPPLET CODE 1 below works correctly and I'm just trying to
modify
the href in SNIPPLET CODE 2 to include a PopWindow js function that
will
open the url in a pop-up. Although I hope to use a variable for the
url in
SNIPPLET CODE 2 below for the final version, I'm simply trying to hard-
code
the url with my PopWindow function in SNIPPLET CODE 2 to see the whole
thing
work..

Can someone take a look at SNIPPLET CODE 2 below and modify the single
and
double quotes so this function will work? I'm an ASP developer and
familiar
with handling quotes the vb way and trying to learn how to deal with
js
quote syntax.

*** SNIPPLET CODE 1:

slideHTML='<a href="'+this.theimages[picindex][1]+'"
target="'+this.theimages[picindex][2]+'">'

*** SNIPPLET CODE 2:

slideHTML='<a href='#'
onclick="javascript:popWindow('home_pop_print.asp?
pic=20070801_hop_vip_01.jpg',485,275);return false;">'

slideHTML='<a href=\'#\'
onclick="javascript:popWindow(\'home_pop_print.asp?
pic=20070801_hop_vip_01.jpg\',485,275);return false;">';

Or better yet:

slideHTML='<a href="#"
onclick="javascript:popWindow(\'home_pop_print.asp?
pic=20070801_hop_vip_01.jpg\',485,275);return false;">';
 
D

David Mark

David Mark said the following on 8/2/2007 8:54 PM:





slideHTML='<a href="home_pop_print.asp?pic=20070801_hop_vip_01.jpg"
onclick="return PopWindow(this.href,485,275)">'

I have a nasty habit of using the HREF to hold a URL and then referring
to this.href in an onclick.

I'd say that's a good habit, but I don't know if the OP intended this
to be a script-only link or not.
And, the use of the javascript: label is un
needed :)

No doubt. I was too busy looking at the quotes to notice that.
 
D

David Mark

David Mark said the following on 8/2/2007 9:21 PM:







Based on it being in a JS variable, I doubt it :)

That's the very reason I thought it might be a script-only link. If
it is meant to be used unscripted, why generate it dynamically?
The other difference is return functionName instead of
functionName();return false in the onclick event. I have found in the
past that if functionName() had - for whatever reason - an error in it
then the href navigation was followed and it makes debugging a

Yes. That is a good habit as well.
nightmare. But, the OP is using Prototype so I won't comment on debugging :)

I didn't notice that he was using that, but what an awful way to get
started with JavaScript.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,065
Latest member
OrderGreenAcreCBD

Latest Threads

Top