PHP in JavaScript

stonie_hype

Grünschnabel
Hallo,

ich möchte folgendes tun. Ich hab zwei "SELECT"-Menüs, im ersten soll jemand eine Kategorie auswählen, wenn dies getan wurde, soll sich die zweite SELECT-Box automatisch mit Inhalt füllen. Soweit so gut. Das geht auch, wen ich das alles statisch im JavaScript mache.
Jetzt habe ich die Java-Script-Funktion so geschrieben das Inhalt aus eine DB gelesen wird und per "new option" der inhalt in die zweite geschrieben werden soll. Aaaaber..... das will er nicht. Kommt auch keine Fehlermeldung oder ähnliches. Ich hab den Code einfach mal angehangen, es ist sicheru n kleinigkeit... abe ich bin zu blind *g*.


btw: wenn ich mir mit dem Script unten den Quelltext ansehe (Im Browser) dann scheint mit dem JavaScript alles in Ordnung zu sein, alle Werte sind wie sie sein sollten. Aber die JS-Fuktion wird denoch nicht aufgerufen (gestestet mit nem aler() direkt in der Fuktion).

wäe super wen mir hier jemand helfen könnte.

Vielen Dank!

stonie



Quellcode:

Code:
<?
	$sql = "SELECT * from test;";
	$host = dbhost();
	$username = dbusername();
	$userpw = dbuserpw();
	$database = dbdb();
		
	$verbindung = mysql_connect($host,$username,$userpw);
	$erg = mysql_db_query($database,$sql,$verbindung);
	
	$i=0;
	while ($row = mysql_fetch_array($erg))
	{
		$testid[$i] = $row["id"];
		$testwert[$i] = $row["wert"];
		$i++;
	}
	
	echo("<script type=\"javascript\">\n");
	echo("<!--\n");
	echo "function updateselect()\n";
	echo "{\n";
	echo "alert(\"huhi\");\n";
	echo "var kategorieAuswahl = document.forms.test.lstCat;\n";
	echo "var unterkategorieAuswahl = document.forms.test.lstCat2;\n";
	echo "unterkategorieAuswahl.options.length = 0;\n";
	echo("var cat = new Array();\n");
	
	for ($tid=0;$tid<=count($testid)-1;$tid++)
	{
		echo "document.forms.test.lstCat2.options[".$tid."] = new Option('".$testwert[$tid]."');\n";
	}
	echo "}\n";
	echo("-->\n");
	echo("</script>\n");
?>

<body>
	<form name='test'>
		<select name='lstCat' id='lstCat' onChange="javascript:updateselect();">
			<option value='1'>1</option>
			<option value='2'>2</option>
			<option value='3'>3</option>
		</select>
	
		<select name='lstCat2' id='lstCat2'>
		</select>
	</form>
</body>
 
Zuletzt bearbeitet:
Hi alle,


es geht ... das Problem war folgende Zeile:

Code:
<script type='JavaScript'>

es muss

Code:
<script language='JavaScript'>

sein...


ARGH

danke trotzdem!

stonie
 
Nö... lt. HTML ist das type-Attribut Pflicht(language im Gegensatz dazu nicht)... du musst es nur korrekt setzen:
Code:
<script type="text/javascript">
 
Hi,

kann sein das es Pflicht ist, aber es funktioniert nicht mit type.
Language allerdings schon.

auch wenn ich das text/javascript machen... it wont work.

danke =)

stonie
 
Du kannst davon ausgehen, dass es mit type funktioniert.
Wenn es bei dir nicht funktioniert, liegt der Fehler sicher nicht bei der type-Angabe.

z.B. das:
Code:
echo("-->\n");
..ist eindeutig ein Fehler... es müsste
Code:
echo("//-->\n");
heissen.
 

Neue Beiträge

Zurück