Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

PHP scope issue

Posted on 2013-01-25
2
Medium Priority
?
280 Views
Last Modified: 2013-01-25
Hello,

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"].enableDragAndDrop(true);
			trees["treebox1"].attachEvent("onDrag", function() { return false; });
			trees["treebox1"].setSkin("dhx_terrace");
			trees["treebox1"].setImagePath("../../DHTMLX/dhtmlxTree/dhtmlxTree/codebase/imgs/csh_dhx_terrace/");
			trees["treebox1"].loadXML("getTree.php?what=1&thisID=0",function(){
			//trees["treebox1"].openAllItems(0);
			});
			trees["treebox2"].enableDragAndDrop(true);
			trees["treebox2"].attachEvent("onDrag", function() { return false; });
			trees["treebox2"].setSkin("dhx_terrace");
			trees["treebox2"].setImagePath("../../DHTMLX/dhtmlxTree/dhtmlxTree/codebase/imgs/csh_dhx_terrace/");
			trees["treebox2"].loadXML("getTree.php?what=2&thisID="+document.getElementById('thisid').value,function(){
			//trees["treebox2"].openAllItems(0);
			});
			return;
	
}



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");
combo2.DOMelem_input.style.color='#E6E6E6';
combo2.attachEvent("onChange",function(){ 
combo2.DOMelem_input.style.color= 'black';
document.getElementById('thisid').value=combo2.getSelectedValue();
doTree();
return true;
});
	

Open in new window

0
Comment
Question by:1Cougar
[X]
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
2 Comments
 
LVL 143

Accepted Solution

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

Author Comment

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

Cheers,
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Find out what you should include to make the best professional email signature for your organization.
There are times when I have encountered the need to decompress a response from a PHP request. This is how it's done, but you must have control of the request and you can set the Accept-Encoding header.
In this tutorial viewers will learn how to embed an audio file in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: : The declaration should display (CODE) HTML5 is supported by the most recent versions of all major browsers…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
Suggested Courses

636 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