Connecting Tech Pros Worldwide Help | Site Map

Javascript innerHTML

Chris
Guest
 
Posts: n/a
#1: Jul 20 '05
How can I get the innerHTML of a <div> area only when the page loads, then use that variable in a function?

Here is my code:
function setContent(zz)
{
var lb = document.getElementById('leftbar').innerHTML;
var rb = document.getElementById('rightbar').innerHTML;
document.getElementById("myContent").innerHTML = "<span class=\"title_Page\">"+Page[zz]+"</span>";
if (zz=="home") {
document.getElementById('leftbar').innerHTML = lb;
document.getElementById('rightbar').innerHTML = rb;
document.getElementById('leftbar').style.width = '135px';
document.getElementById('rightbar').style.width = '135px';
}
else {
document.getElementById('leftbar').innerHTML = "";
document.getElementById('rightbar').innerHTML = "";
document.getElementById('leftbar').style.width = '0px';
document.getElementById('rightbar').style.width = '0px';
}
}

I want lb and rb to be set only once (i.e. only when the page loads the first time). I tried putting those variables outside the function, but when I do they, they show up as undefined. So how could i code it so that when the page loads, it assigns the innerHTML to the two variables, but not any other time while that page is open?

Chris

--
Composed with Newz Crawler 1.4 http://www.newzcrawler.com/
HikksNotAtHome
Guest
 
Posts: n/a
#2: Jul 20 '05

re: Javascript innerHTML


In article <z06cb.23390$JM.10393970@news4.srv.hcvlny.cv.net >, "Chris"
<nyk52687@yahoo.com> writes:
[color=blue]
>How can I get the innerHTML of a <div> area only when the page loads, then
>use that variable in a function?
>
>Here is my code:
>function setContent(zz)
>{
> var lb = document.getElementById('leftbar').innerHTML;
> var rb = document.getElementById('rightbar').innerHTML;[/color]

Remove the above two lines from the setContent function.

Use the bodys onload even to trigger a function that will set the global
variables to what you want.

var lb,rb;
function pageLoaded(){
lb = document.getElementById('leftbar').innerHTML;
rb = document.getElementById('rightbar').innerHTML;
}
<body onload="pageLoaded()">
Now, you can use the global lb and rb in your second function.
--
Randy
Chris
Guest
 
Posts: n/a
#3: Jul 20 '05

re: Javascript innerHTML


> In article <z06cb.23390$JM.10393970@news4.srv.hcvlny.cv.net >, "Chris"[color=blue]
> <nyk52687@yahoo.com> writes:
>[color=green]
> >How can I get the innerHTML of a <div> area only when the page loads, then
> >use that variable in a function?
> >
> >Here is my code:
> >function setContent(zz)
> >{
> > var lb = document.getElementById('leftbar').innerHTML;
> > var rb = document.getElementById('rightbar').innerHTML;[/color]
>
> Remove the above two lines from the setContent function.
>
> Use the bodys onload even to trigger a function that will set the global
> variables to what you want.
>
> var lb,rb;
> function pageLoaded(){
> lb = document.getElementById('leftbar').innerHTML;
> rb = document.getElementById('rightbar').innerHTML;
> }
> <body onload="pageLoaded()">
> Now, you can use the global lb and rb in your second function.
> --
> Randy[/color]
When I do that, both variables show undefined.

Chris

--
Composed with Newz Crawler 1.4 http://www.newzcrawler.com/
HikksNotAtHome
Guest
 
Posts: n/a
#4: Jul 20 '05

re: Javascript innerHTML


In article <EIecb.1683$XF.748596@news4.srv.hcvlny.cv.net>, "Chris"
<nyk52687@yahoo.com> writes:

<snip>
[color=blue]
>When I do that, both variables show undefined.[/color]

Test page online? I tested it in IE6 just to confirm my beliefs.

var someVar = "Not loaded";

function checkFunction(){
alert(someVar)
}
function pageLoaded(){
someVar = "Loaded";
}

<body onload="pageLoaded()">

<button onclick="checkFunction()">Check the Var</button>

The alert I get is "Loaded". Sounds like you are trying to call something
before it exists, hence the request to see a test page.
--
Randy
Chris
Guest
 
Posts: n/a
#5: Jul 20 '05

re: Javascript innerHTML


> In article <EIecb.1683$XF.748596@news4.srv.hcvlny.cv.net>, "Chris"[color=blue]
> <nyk52687@yahoo.com> writes:
>
> <snip>
>[color=green]
> >When I do that, both variables show undefined.[/color]
>
> Test page online? I tested it in IE6 just to confirm my beliefs.
>
> var someVar = "Not loaded";
>
> function checkFunction(){
> alert(someVar)
> }
> function pageLoaded(){
> someVar = "Loaded";
> }
>
> <body onload="pageLoaded()">
>
> <button onclick="checkFunction()">Check the Var</button>
>
> The alert I get is "Loaded". Sounds like you are trying to call something
> before it exists, hence the request to see a test page.
> --
> Randy[/color]
I've tested it on IIS. As for calling something before it exists, would you recommend I put the function in the page header, an external js file, or somehwere in the <body>?

Thanks, Chris

--
Composed with Newz Crawler 1.4 http://www.newzcrawler.com/
Closed Thread