WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Formular: Inhalt von Input Feldern beim Ändern der Select Box ändern » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Ori
Ein wenig Generelles:
Ändere doch Im JavaScript-Block Zeile 8 in
1:
if (sel.selectedIndex > 0)
, dann kannst Du die Beschriftung auch mal ändern.

Zum Problem:
Das ist mir auch schon aufgefallen. Der IE braucht gesetzte value-Angaben, sonst ist für ihn value="". Das ist zwar doppelt gemoppelt und eigentlich nicht erforderlich, dennoch macht der IE sonst nichts.
von diwie
selectedIndex scheint im IE Probleme zu bereiten. Ein Alert auf "nachname" bleibt im IE leider leer. Kennt jemand eine in beiden Browsern funktionierende Alternative?
von diwie
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.

Nach oben