Solved

run 2 javascript functions on the same page

Posted on 2009-07-07
3
314 Views
Last Modified: 2012-05-07
Hi all,
I have 2 javascripts which are working fine.  On script shows/hides content depending on a checkbox tick.  The other script does an auto complete suggestion select box for a textarea.  When I put both scripts on the same page, they both work without errors except my body onload stops working.  The body onload hides the show/hide content by default.  If I tick the check box to show the already shown content, then untick it, it hides the content just fine.
When I comment out the function for the autocomplete script, the content becomes hidden by default, but of course the suggestion select box script stops working.
Here is what I have:
/* This is the auto complete script */

<script type="text/javascript">

<!--

if (location.href.indexOf('<?=$url;?>') != -1) {

window.onload = function ()

// if I comment out the above line, the show/hide script works onload

{

AutoComplete_Create('ship', ['FedEx', 'UPS', 'USPS', 'DHL', 'Freight', 'ups', 'usps'].sort(), 6);

}

}

if (top.location.href != location.href) {

top.location.href = location.href;

}

//-->

</script>
 

/* This is the show/hide script */

<script type="text/javascript">

<!--

function showMe (it, box) {

var vis = (box.checked) ? "block" : "none";

document.getElementById(it).style.display = vis;

}

//-->

</script>

...
 

/* This is the body onload part */

<body onLoad="showMe('div1', this)">

Open in new window

0
Comment
Question by:newbe101
  • 2
3 Comments
 
LVL 41

Accepted Solution

by:
HonorGod earned 500 total points
ID: 24799446
because both are trying to take over the onload

Perhaps something like:



/* This is the auto complete script */

<script type="text/javascript">

<!--

  if (location.href.indexOf('<?=$url;?>') != -1) {

    var oldOnload = window.onload;

    window.onload = function ()

// if I comment out the above line, the show/hide script works onload

    {

      if ( oldOnload ) {

        oldOnload();

      }

      AutoComplete_Create('ship', ['FedEx', 'UPS', 'USPS', 'DHL', 'Freight', 'ups', 'usps'].sort(), 6);

    }

  }

  if (top.location.href != location.href) {

    top.location.href = location.href;

  }

//-->

</script>

 

/* This is the show/hide script */

<script type="text/javascript">

<!--

  function showMe (it, box) {

    var vis = (box.checked) ? "block" : "none";

    document.getElementById(it).style.display = vis;

  }

  var onload1 = window.onload;

  window.onload = function() {

    if ( onload1 ) {

      onload1();

    }

    showMe('div1', this);

  }

//-->

</script>

...

 

/* This is the body onload part */

<body>

Open in new window

0
 

Author Comment

by:newbe101
ID: 24799544
that was it... thank you!
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 24799768
You are very welcome.

Thanks for the grade & points.

Good luck & have a great day.
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

This article discusses the difference between strict equality operator and equality operator in JavaScript. The Need: Because JavaScript performs an implicit type conversion when performing comparisons, we have to take this into account when wri…
Why do we like using grid based layouts in website design? Let's look at the live examples of websites and compare them to grid based WordPress themes.
This video teaches users how to migrate an existing Wordpress website to a new domain.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now