Forums / Setup & design / Javascript and overriede browse.tpl ..BUG ?!

"Please Note:
  • At the specific request of Ibexa we are changing this projects name to "Exponential" or "Exponential (CMS)" effective as of August, 11th 2025.
  • This project is not associated with the original eZ Publish software or its original developer, eZ Systems or Ibexa".

Javascript and overriede browse.tpl ..BUG ?!

Author Message

Selmah Maxim

Wednesday 07 December 2005 10:35:25 am

Hi ..

AM trying to override the browse.tpl, ok ... easy to but the javascript is not working, and when i place the same code in another template work fine ... what to do ?!


{literal}
<script language="JavaScript">
var DomYes=document.getElementById?1:0;

function set_child_listbox(parentObject,childObject,childArray,spanToHide) {

	//Clear child listbox
	for(var i=childObject.length;i>0;i--) {
		childObject.options[i] = null;
	} 
	
	childObject.options[0] = new Option("Select Value","");
	var sel_index = parentObject.options[parentObject.selectedIndex].value;
	if (sel_index == "") {
		childObject.disabled = true;
	} else {
		childObject.disabled = false;
		var childIndex = 1;
		for (i = 0; i < childArray.length; i++) {
			if (childArray[i][1] == sel_index) {
				childObject.options[childIndex] = new Option(childArray[i][2], childArray[i][0]);
				childIndex++;
			}
		}
	}
	//Select first option
	childObject.selectedIndex = 0;

	//Hide dependent grid
	if (spanToHide != "") {
		if (DomYes) {
  			document.getElementById(spanToHide).style.display="none";
		} else {
			document.all[spanToHide].style.display="none";
		}
	}
}

function reload_page() {
  var sel_index = document.SelectCarCat.s_category_id.options[document.SelectCarCat.s_category_id.selectedIndex].value;
  var sel_subindex = document.SelectCarCat.SelectedNodeIDArray.options[document.SelectCarCat.SelectedNodeIDArray.selectedIndex].value;
  if (sel_subindex != "") {
	 document.location.href = document.location.pathname + "?" + "SelectedNodeIDArray=" + sel_subindex+"&s_category_id=" + sel_index;
  }
}

function disable_child_listbox(spanToHide) {
  
  //Disable second listbox 
  if (document.SelectCarCat.s_category_id.selectedIndex == "") {
     document.SelectCarCat.SelectedNodeIDArray.disabled = true;
  }	

  //Hide dependent grid 
  if (document.SelectCarCat.SelectedNodeIDArray.selectedIndex == "") {
	if (spanToHide != "") {
		if (DomYes) {
			document.getElementById(spanToHide).style.display="none";
		} else {
			document.all[spanToHide].style.display="none";
		}
	}
  }	
}

window.onload = function() {
	disable_child_listbox("Products");
}
{/literal}





{let $car_make_cats=fetch('content','list',hash(parent_node_id,84,
                                   class_filter_type,include,
                                   class_filter_array,array(22)))
								   }
var Product = new Array( 
{section loop=$car_make_cats var=Make}
	
		{let $car_made_cats=fetch('content','list',hash(parent_node_id,$Make.node_id,
                                   class_filter_type,include,
                                   class_filter_array,array(17)))
		}
			{section loop=$car_made_cats var=Made}
								new Array({$Made.node_id},{$Make.node_id},'{$Made.name}')
								{*section show=qe($Made.parent.children_count,$Made.number)*},{*/section*}
			{/section}
		{/let}  

{/section}
new Array(999,888,'xxxx')
);
{/let}


</script>

      
<form action="/car/index.php/automobile/content/action" method="post" name="SelectCarCat">

  	<div  ID="carmakediv">
              <select name="car_make" size="5" onchange="set_child_listbox(this, document.SelectCarCat.NodeID,Product,'Products');" style="position:absolute;width:136px;height:95px;top:-4px;left:-3px;">
  <option value="" selected>Select Car Make</option>
				{let $car_make_cats=fetch('content','list',hash(parent_node_id,84,
                                   class_filter_type,include,
                                   class_filter_array,array(22)))
								   }

					{section loop=$car_make_cats var=Make}
						<OPTION VALUE="{$Make.node_id}" >{$Make.name}</OPTION>
					{/section}

      </select>
  </div>
			  {/let}
			<div  ID="carmodeldiv" >
              <select name="NodeID" size="5"  style="position:absolute;width:136px;height:95px;top:-4px;left:-3px;" >
			  <OPTION VALUE="" style="background-color: red;color:#000000;">Select Car Made</OPTION>
			  </select>
  			</div>

 <div style="	padding: 55px; "></div>


<input type="hidden" name="BrowseActionName" value="{$browse.action_name}" />
<input class="button" type="submit" name="SelectButton" value="{'Select'|i18n('design/standard/content/browse')}" />
 <input class="button" type="submit" name="BrowseCancelButton" value="{'Cancel'|i18n( 'design/standard/content/browse' )}" />
</form>


This script will show the child cats when u select the main ... any hope ?!

Thanks in advance.

Selmah Maxim

Wednesday 07 December 2005 12:14:24 pm

I know why is not working .. its give me back undefined object about the snd child select .. buts its there ... and with normal html work fine .,... I cann`t think why ... spent 3 hours to slove it ... and the problem my client asking it like this :(

Selmah Maxim

Wednesday 07 December 2005 12:56:09 pm

OK ... I found it ... 2 form ... same name ! :)