Ich habe ein Formular bestehend aus einer select box (nachname) und 3 input feldern (vorname, status, ip)). In die select box werden die Nachnamen aller Benutzer aus einer MySQL Datenbank eingelesen. Jetzt möchte ich gerne, damit beim Ändern der select box (nachname) der zugehörige Inhalt (vorname, status, ip) in den anderen 3 input feldern dynamisch ausgetauscht wird.
Ausgegangen bin ich am Beispiel der Vorlage "
Chained Select Boxes". Das klappt im Firefox auch wunderbar, nur im IE scheint $_GET['person'] nicht übergeben zu werden. Das ist leer und somit greift keine Datenbankabfrage. Wo steckt nur mein Fehler?
Formular
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12: | <select name="de_nachname" id="de_nachname" onchange="update_form_delete_user(this);">
<option>Bitte wählen!</option>
<?
$abfrage = "SELECT * FROM user";
$read_result = mysql_query ($abfrage);
while ($row = mysql_fetch_array ($read_result)) {
?>
<option><?echo $row['nachname']; ?></option>
<?
}
?>
</select> |
Javascipt
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19: | var ajax = new sack();
function update_form_delete_user (sel) {
var nachname = sel.options[sel.selectedIndex].value;
document.getElementById('de_vorname').value = '';
document.getElementById('de_status').value = '';
document.getElementById('de_ip').value = '';
if (nachname.value != 'Bitte wählen!') {
ajax.requestFile = 'get_data_db_user.php?person=' + escape(nachname);
ajax.onCompletion = update_form_input;
ajax.runAJAX();
}
}
function update_form_input () {
var obj = document.getElementById('delete_user');
eval(ajax.response);
} |
get_data_db_user.php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18: | <?
if (isset($_GET['person'])) {
include "konfiguration.php";
$verbindung = @mysql_select_db ($db);
if (!$verbindung) {echo "$datenbanknichtda";}
$read_result = mysql_query ("SELECT * FROM user WHERE nachname = '".$_GET['person']."'");
while ($row = mysql_fetch_array ($read_result)) {
echo "document.getElementById('de_vorname').value = '".$row['vorname']."';\n";
echo "document.getElementById('de_status').value = '".$row['status']."';\n";
echo "document.getElementById('de_ip').value = '".$row['ip']."';\n";
}
mysql_close ($conn);
}
?> |
Vielen Dank für Eure Zeit.