Textfeld Menue

nox

Erfahrenes Mitglied
Hallo

ich kenne mich mit javascript extrem schlecht aus, ich hoffe ihr könnt mir helfen....

Ich will genau solch eine Menueführung(wählen sie ihr Produkt aus) wie bei http://de.europe.creative.com/support/downloads/ nur find ichs nicht heraus wie es funktioniert.
Wenn ich den Quellcode kopiere und so abändere, dass nur noch die Menuelisten angezeigt werden, werden deren inhalte nicht angezeigt(Javascript natürlich mitkopiert).

Gruss nox
 
Da hast du wohl zu viel abgeändert.... solange der Skriptcode drinnen ist, funktioniert das bei mir mit einzig den 3 Listen.

Hast du den <form>-Tag auch drinnen gelassen?
 
Oke mal konkret
Code:
ich habe diesen Quelltext:
<PHP>
<html>
<body vlink="#0C0C7C" alink="#0C0C7C" topmargin="0" marginheight="0" marginwidth="0" leftmargin="0" bgcolor="#FFFFFF" >
<script language="javascript">
<!--

function fnChkSelection(thisForm)
{
if ( thisForm.Product_ID.options.selectedIndex < 0 ) {
	alert('Wählen Sie Ihr Produkt');
	return false;
	}	
else {
	
	thisForm.sOSName.value = thisForm.OS.options[thisForm.OS.selectedIndex].text;
	
	return true;	
	}
}

function fnGetName(thisForm)
{

if ( thisForm.Product_ID.options.selectedIndex < 0 ) {
	if (document.filename_search.searchString.value == "") 
		return false;
	}	
else {
		return true;	
 	 }

return true;
}

function fnCheckCatSelecton(thisItem)
{

if 	( thisItem.options[thisItem.selectedIndex].text == "Manuals" ) 
	document.all["oschoice"].style.display="none";
else
	document.all["oschoice"].style.display="";
}

// -->
</script>	

<form method="post" name="driver_search" action="download.asp" onSubmit="return fnChkSelection(this)" ID="Form3">

<script LANGUAGE="JavaScript">
<!--
var ThirdPane311=new Array;
var ThirdPane204=new Array;
var ThirdPane205=new Array;
var ThirdPane206=new Array;
var ThirdPane207=new Array;
var ThirdPane16=new Array;
var ThirdPane211=new Array;
var ThirdPane214=new Array;
var ThirdPane215=new Array;
var ThirdPane216=new Array;
var ThirdPane217=new Array;
var ThirdPane219=new Array;
var ThirdPane220=new Array;
var ThirdPane37=new Array;
var ThirdPane36=new Array;
var ThirdPane100=new Array;
var ThirdPane99=new Array;
var ThirdPane228=new Array;
var ThirdPane42=new Array;
var ThirdPane40=new Array;
var ThirdPane231=new Array;
var ThirdPane46=new Array;
var ThirdPane45=new Array;
var ThirdPane44=new Array;
var ThirdPane49=new Array;
var ThirdPane247=new Array;
var ThirdPane250=new Array;

categoryList();

function categoryList(){
	addBoxItem(document.driver_search.MainCategory, '2004', '1');
	addBoxItem(document.driver_search.MainCategory, '2003', '213');
}

function familyList(catID) {
	clearBox(document.driver_search.SubCategory);
	clearBox(document.driver_search.Product_ID);
	
	
	switch(parseInt(catID)) {
		case 1 :
		addBoxItem(document.driver_search.SubCategory, 'ms', '311'); // 
		addBoxItem(document.driver_search.SubCategory, 'fs', '204'); // 
		break;

		case 213 :
		addBoxItem(document.driver_search.SubCategory, 'ms', '214'); // 
		addBoxItem(document.driver_search.SubCategory, 'ws', '215'); // 
		break;
	}
}

function productList(catID,famID) {
	clearBox(document.driver_search.Product_ID);
	
	switch(parseInt(catID)) {
		case 1 : 			// 2004
		switch(parseInt(famID)) {
			case 311 : 					// ms
				addBoxItem(document.driver_search.Product_ID, 'spiel ort1', '10853'); //  
			break;
			
			case 204 : 					// fs
				addBoxItem(document.driver_search.Product_ID, 'spiel ort2', '10769'); //  
			break;
		}
		break;
					
		case 213 : 			// 2003
		switch(parseInt(famID)) {
			case 214 : 					// ms
				addBoxItem(document.driver_search.Product_ID, 'spiel ort3', '117'); //  
			break;
			
			case 215 : 					// ws
				addBoxItem(document.driver_search.Product_ID, 'spiel ort4', '10737'); //  
			break;
		}
		break;
	}
}

function populateFamilies(catID) {
	if (catID != '') {
	familyList(catID);
	}
	if (catID == '') {
	familyList('1');
	}

	// if(options[selectedIndex].value) window.location.href=(options[selectedIndex].value)" cl
	
	if (document.driver_search.SubCategory.length == 1) {
		document.driver_search.SubCategory.selectedIndex = 0;
		productList(catID, document.driver_search.SubCategory.options[document.driver_search.SubCategory.selectedIndex].value);
	}
}

function populateProducts(catID, famID) {
	if (catID != '' ) {
		if (famID != '' ) {
			productList(catID, famID);
		}
	}
}

function clearBox(formItem) {
	for(i = formItem.length ; i > -1 ; i--) {
		formItem.options[i] = null;
	}
}
function addBoxItem(formItem, valText, valValue) {
	newoption = new Option(valText, valValue, false, false);
	formItem.options[formItem.length] = newoption;
}
// -->
</script>		


<table cellpadding="0" cellspacing="0" border="0" ID="Table1">
	<tr>
		<td align="center"><b>
		<select name="select" class="threepane" style="width: 135.75px; overflow: hidden;" size="14" onChange="populateFamilies(driver_search.MainCategory.options[driver_search.MainCategory.selectedIndex].value);" ID="select"></select>
		</b>
		</td>
		<td align="center"><b>
		<select name="select" class="threepane" style="width: 135.75px; overflow: hidden;" size="14" onChange="populateProducts(driver_search.MainCategory.options[driver_search.MainCategory.selectedIndex].value, driver_search.SubCategory.options[driver_search.SubCategory.selectedIndex].value);" ID="select2"></select>
		</b>
		</td>
		<td align="center"><b>
		<select name="select" class="threepane" style="width: 271.5px; overflow: hidden;" size="14" onClick="try {(this.form.Product_Name.value=this.options[this.options.selectedIndex].text)} catch(e) {}"></select>
		</b>
		</td>
	</tr>
</table>
</form>
</body>
</html>
</PHP>

Habe aber keine Ausgabe in meiner ersten Liste...
An was kann das liegen?
 
Du hast:
  • die Namen der <select>'s geändert, diese sind jedoch von entscheidender Bedeutung.
  • die Position der Listen im Quelltext geändert... sie müssen sich vor dem Skript befinden
 
Danke

es läuft schonmal, nur wenn ich bei der letzten Liste den Eintrag anklicke solls im gleichen Windows einen Link öffnen und zwar anhand vom 'Product_ID' value.
wie ich ein neuer Link lade weiss ich, nur bekomme ich die value von Product_ID nicht.
Wie rufe ich diese ab?
 
bspw. Folgendes in dem 3.<select>
Code:
onChange="window.location='ziel.php?ziel='+this.options[this.options.selectedIndex].value

würde eine "ziel.php" öffnen, als Variable "ziel" wird dabei die Produkt-ID übergeben.
 
hab es selber rausbekommen, dennoch die lösung gefällt mir besser als meine ;)

Danke Sven
du hast mir echt geholfen

greez nox
 
Zurück