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

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 ! :)