mit ajax eingebundenes php lässt keine auswahl zu.

hier ist der aufruf (klappt auch)
PHP:
/*Der aufruf*/echo'<form name ="plan" method="post" action="" onchange="auswahl()">'; 
echo'<select name="gruppe" size="1">';
echo'<option selected value="-1"> </option>';
while($anzahl = mysql_fetch_object($erg))
{
	echo'<option value="'.$anzahl->gruppe.'">'.$anzahl->gruppe.'</option>';
}
echo'</select><br><br>';
hier ist der javasciptcode dazu.
PHP:
<script type="text/javascript">
function auswahl()
{
    var nr = 1;

    var xmlhttp = null;
    // Mozilla
    if (window.XMLHttpRequest)
	{
        xmlhttp = new XMLHttpRequest();
    }
    // IE
    if (window.ActiveXObject)
	{
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

	xmlhttp.open('POST', 'plan.php', true);
    xmlhttp.onreadystatechange = function()
    {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) 
		{
            document.getElementById("stundenplan").innerHTML = xmlhttp.responseText; 
        }
    }
    xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xmlhttp.send('id=' +nr);
}
</script>
Hier wird es eingebunden
PHP:
?><p id="stundenplan"></p><?
hier ist die Plan.php die eingebunden wird (in verkürzter Version, da sich der code immer wieder wiederholt mit etwas anderen abfragen)
PHP:
<?php
include_once 'sessionhelpers.inc.php';
echo'<select name="lehrer['.$zeile->PK_tag.','.$i.']" size="1">';
echo'<option selected value="'.$row->PK_person.'">'.$row->geschlecht.' '.$row->nachname.'</option>';
while($row = mysql_fetch_object($return))
{
	if(mysql_num_rows($return1)==1 && $p==0)
	{
		echo'<option value="0"> </option>';
		$p=$p+1;
	}
	echo'<option value="'.$row->PK_person.'">'.$row->geschlecht.' '.$row->nachname.'</option>';
}
echo'</select>';

Die daten werden auch angezeigt und die abfragen auch alle gemacht und es kommt auch alles an was ankommen soll. doch wenn ich bei dem optionfeld aus plan.php eine andere auswahl treffe, dann wird die sofort wieder rückgängig gemacht und auf die auswahl gestellt bevor ich eine traf.
Auch werden mir Datensätze die sonst immer richtig angezeigt werden jetzt anders dargestellt. z.B. wird aus Müller dann M?ller. so eine schwarze raute mit einem fragezeichen drin. Dass kenn ich eingentlich nur aus HTML aber bei php und echo passiert das ja nicht. Also wo könnte der Fehler liegen?
 
Hi,

das onchange-Attribut gehört in den Select-Tag, nicht ins Form.

EDIT: Und die falsche Darstellung kann nur daher kommen, dass die beiden PHP-Scripte in unterschiedlichen Kodierungen ausliefern.

LG
 
Zuletzt bearbeitet:
Zurück