0

CALLER

function showContent(s,i){
	// loading
	//loading_img(1);
	//s = s.toString();
	
	// i undefined
	if(i==undefined){
		i="";
	}
	
	if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
	}else{// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	xmlhttp.onreadystatechange=function(){
		if (xmlhttp.readyState==4 && xmlhttp.status==200){
			//alert('s'+s);
			document.getElementById('s'+s).innerHTML=xmlhttp.responseText;
			
			if(s==0||s==1||s==4||s==7||s==8||s==9){
				var v="js"+s;
				if(document.getElementById(v)){
					eval(document.getElementById(v).innerHTML); // THIS IS THE LINE WITH ERROR
				}else{
					alert('e')
				}
			}
			
			// open next one
			if(s<aS.length-1){
				showContent(s+1);
			}else{
				// render #anchors
				Scroller.init();
				
				// get final doc height
				doc_h = getDocHeight();
			}
			
			// adjust layout
			adjustLayout();
			
			// loading animation
			// OFF
			aS[s][0] = 1;
			
			
			//align();
		}
	}
	
	xmlhttp.open("GET",s+".asp?i="+i,true);
	xmlhttp.send();
}

CODE BEING LOADED:

<script language="javascript" id="js0">
<!--

// vars
oGaleriaSsImage = new Image();
lGaleriaSs = 1;
iGaleriaSs = null;
bGaleriaSs = null;

aGaleriaSs = new Array();
<%
	' Randomizer
	Dim max,min
	Dim aImgs()
	max=4
	min=0

	Set AA = CX.Execute(" Select imagem from 11_arquivos order by ordem DESC")
	c=0
	do while not AA.EoF
		ReDim Preserve aImgs(c+1)
		aImgs(c) = AA.Fields(0)
		AA.MoveNext
		c=c+1
	Loop
	
	max=UBound(aImgs)-1
	
	c=0
	do while c<5
		Randomize
		r = Cstr(Int((max-min+1)*Rnd+min))

		img = aImgs(r)
		
		if c=0 then
			imagem = img
		end if
%>
// Array imgs
aGaleriaSs[<%=c%>] = '<%=img%>';
<%		
		c=c+1
	Loop
	
%>

//nextImgSs('GaleriaSs',0,'ss');

//-->
</script>

I'm getting syntax error on that line there. But it all works fine on Chrome & FF.

Could somebody help me, please?

3
Contributors
12
Replies
13
Views
5 Years
Discussion Span
Last Post by philspotter
0

You are using eval(), which means it is trying to execute code that is being placed in it as a string. Therefor, what is the value of document.getElementById(v).innerHTML

0

i changed this part to

v = document.getElementById(v).innerHTML;
eval(v);

but stil get the syntax error on eval.

0
<!--



// vars

oGaleriaSsImage = new Image();

lGaleriaSs = 1;

iGaleriaSs = null;

bGaleriaSs = null;



aGaleriaSs = new Array();



// Array imgs

aGaleriaSs[0] = '1328723677DSC08869_OK.jpg';



// Array imgs

aGaleriaSs[1] = '1328723663DSC08855_OK.jpg';



// Array imgs

aGaleriaSs[2] = '1328726800DSC00303_OK.jpg';



// Array imgs

aGaleriaSs[3] = '1328723589DSC08841_OK.jpg';



// Array imgs

aGaleriaSs[4] = '1328723663DSC08855_OK.jpg';





//nextImgSs('GaleriaSs',0,'ss');



//-->
0

What is the value of the v pointer?
Try alert(document.getElementById(v)) before your if conditional and see whats being returned first.

0

OK, I'm going to try to make this as easy as I can. Above this line:

eval(document.getElementById(v).innerHTML);

put the following code:

alert(document.getElementById(v).innerHTML);

Then run your app again and tell us what the value is.


Please, follow these instructions, if you don't we can't help you.

0

AGAIN, THIS IS WHAT YOU GET FROM document.getElementById(v).innerHTML:

<!--

// vars

oGaleriaSsImage = new Image();

lGaleriaSs = 1;

iGaleriaSs = null;

bGaleriaSs = null;

aGaleriaSs = new Array();

// Array imgs

aGaleriaSs[0] = '1328723677DSC08869_OK.jpg';

// Array imgs

aGaleriaSs[1] = '1328723663DSC08855_OK.jpg';

// Array imgs

aGaleriaSs[2] = '1328726800DSC00303_OK.jpg';

// Array imgs

aGaleriaSs[3] = '1328723589DSC08841_OK.jpg';

// Array imgs

aGaleriaSs[4] = '1328723663DSC08855_OK.jpg';

//nextImgSs('GaleriaSs',0,'ss');

//-->

0

Next time, please indicate that what you have typed is the output, don't just show the code.

Declare variables with var, otherwise they get created as global variables.

Also, it looks like you are only using one variable in that code aGaleriaSs.

I'd re-write it to:

var aGaleriaSs = [];

// Array imgs
aGaleriaSs.push('1328723677DSC08869_OK.jpg');

// Array imgs
aGaleriaSs.push('1328723663DSC08855_OK.jpg');

// Array imgs
aGaleriaSs.push('1328726800DSC00303_OK.jpg');

// Array imgs
aGaleriaSs.push('1328723589DSC08841_OK.jpg');

// Array imgs
aGaleriaSs.push('1328723663DSC08855_OK.jpg');

Still, don't see anything that would cause an error.

I'd also suggest using JSON in order to do this properly.

0

Ok, thanks. But it still gives me error. The code from the DIV alone is functioning, but when evaluated isn't.

0

the errror was on the comments <!-- //-->!!! aaaaaaaaaaaaaahhhhhhhhhhhhhhggggg

thanks, anyway!

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.