PHP scope issue

Posted on 2013-01-25
Last Modified: 2013-01-25

I know I have a scope problem but I can't seem to figure it out.  I have the code below, where I call procedure "doOnLoad()" when the body loads.  In there I initialize a combo box and trees.  I have an Event handler "onChange" but it only updates my tree once.  I have an alert and it gets called twice.  Ideally I think I should just be reloading the XML when the combo box changes, but when I tried to declare the trees in doOnLoad() and then update the XML in doTree(), I got an error "Trees not defined".  I guess if I could declare the trees in doOnLoad and be able to access them and update XML in doTree, that would be the best, but I don't know how to go about this.

I hope I am making sense.  Below is my code.  Thank you!

function doTree(){
	alert("In tree!");
	var trees = {};

trees["treebox1"] = new dhtmlXTreeObject("treebox1","100%","100%",0);
trees["treebox2"] = new dhtmlXTreeObject("treebox2","100%","100%",0);
trees["treebox3"] = new dhtmlXTreeObject("treebox3","100%","100%",0);
			trees["treebox1"].attachEvent("onDrag", function() { return false; });
			trees["treebox2"].attachEvent("onDrag", function() { return false; });

function doOnLoad() {
	window.dhx_globalImgPath = "../../DHTMLX/dhtmlxCombo/codebase/imgs/";
var comboObject2 = {
    parent: "combo_zone2",
    width: 500,
    readonly: true,
    xml: "getContractXML-1.php"
var combo2 = new dhtmlXCombo(comboObject2);
combo2.setComboText("Please select a company");'#E6E6E6';
combo2.attachEvent("onChange",function(){ 'black';
return true;

Open in new window

Question by:1Cougar
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 143

Accepted Solution

Guy Hengel [angelIII / a3] earned 500 total points
ID: 38818823
Either, you declare the variable as global, or you have to pass the variable as parameter

Author Comment

ID: 38819080
Thanks, that was totally it.  I somehow wasn't seeing where to declare it but have it all sorted out now.


Featured Post

Why Off-Site Backups Are The Only Way To Go

You are probably backing up your data—but how and where? Ransomware is on the rise and there are variants that specifically target backups. Read on to discover why off-site is the way to go.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
This article discusses how to implement server side field validation and display customized error messages to the client.
In this tutorial viewers will learn how to embed videos in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <video> tag to insert a video. Define the src as the URL of your video; this is similar to …
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

695 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