Put a javascript variable value into a concatenated string

I am creating a chart on the fly with xml/swf charts. The problem that I am having is that I am passing a querystring value so that it knows what xml file to pull the data into the chart.

I have setup my javascript to grab my only query string variable, and it does this correctly (tested that it's getting the value with document.write). The problem that I have is when I have added the value into the concatenated string (line that starts with "library") it doesn't pull the value.

What am I missing?

Thanks!
<script language="JavaScript" type="text/javascript">
    
        <!--
 
        fullURL = location.search
        qs = fullURL.substring(fullURL.indexOf('?') + 1, fullURL.length)
        userId = qs.substring(qs.indexOf('=') + 1, qs.length)
                
        
        if (AC_FL_RunContent == 0 || DetectFlashVer == 0) {
            alert("This page requires AC_RunActiveContent.js.");
        } else {
            var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
            if (hasRightVersion) {
                AC_FL_RunContent(
			'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0',
			'width', '400',
			'height', '250',
			'scale', 'noscale',
			'salign', 'TL',
			'bgcolor', '#BE8407',
			'wmode', 'opaque',
			'movie', 'charts',
			'src', 'charts',
			'FlashVars',
			'library_path=charts_library&xml_source=' + userId + '.xml',
			'id', 'my_chart',
			'name', 'my_chart',
			'menu', 'true',
			'allowFullScreen', 'true',
			'allowScriptAccess', 'sameDomain',
			'quality', 'high',
			'align', 'middle',
			'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
			'play', 'true',
			'devicefont', 'false'
			);
            } else {
                var alternateContent = 'This content requires the Adobe Flash Player. '
		+ '<u><a href=http://www.macromedia.com/go/getflash/>Get Flash</a></u>.';
                document.write(alternateContent);
            }
        }
        // -->
        </script>

Open in new window

jrmcintoshAsked:
Who is Participating?
 
Richard QuadlingConnect With a Mentor Senior Software DeveloperCommented:
You won't see a change in the source. The code is processed at runtime, so something like FireBug or just dumb alerts(); are needed to see what is going on.
0
 
Richard QuadlingSenior Software DeveloperCommented:
Can you add ...

alert('library_path=charts_library&xml_source=' + userId + '.xml');

after the line that populates the userID variable.


0
 
jrmcintoshAuthor Commented:
What does that accomplish vs. what I have already tested with document.write.

Yes that gives me the correct URL value in the alert, but I need to place that userid below in the AC_FL_RunContent function.

Thanks for your help.
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
Richard QuadlingSenior Software DeveloperCommented:
I want to make sure that the alert shows the correct value.

What I want to make sure it that there are no spaces or additional characters.

0
 
jrmcintoshAuthor Commented:
Yes, there are no spaces or additional characters.

When I view source the line in question doesn't give the userID value, it shows the code exactly as it is, like this:

'library_path=charts_library&xml_source=' + userId + '.xml',

but I want it to look like this based on the variable value:

'library_path=charts_library&xml_source='1.xml',
0
 
jrmcintoshAuthor Commented:
Anyone?
0
 
Richard QuadlingSenior Software DeveloperCommented:
I assume ...

'library_path=charts_library&xml_source='1.xml',

should be ...

'library_path=charts_library&xml_source=1.xml',

Note the single quote before the ID.


The way I see this, the code is right.

I would now do some debugging in AC_FL_RunContent() to see what it is getting for param#20 (I assume the value associated with FlashVars).


0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.