Formular: Inhalt von Input Feldern beim Ändern der Select Box ändern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formular: Inhalt von Input Feldern beim Ändern der Select Box ändern

    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
    PHP-Code:
    <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
    PHP-Code:
    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
    PHP-Code:
    <?

    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.

  • #2
    Lass dir mal nachname per alert ausgeben - ich meine, mich zu erinnern, dass der IE mit selectedIndex irgendwie zickig ist.
    ich glaube

    Kommentar


    • #3
      Original geschrieben von ministry
      Lass dir mal nachname per alert ausgeben - ich meine, mich zu erinnern, dass der IE mit selectedIndex irgendwie zickig ist.
      Tatsache. Der Alert bleibt im IE leer. Danke für den Tipp!
      Gibt es eine in beiden Browsern funktionierende Alternative um den Inhalt der Dropdown Box abzufragen?

      Kommentar


      • #4
        Habe es selber finden können. Für den IE fehlte das "value" in <option>.

        PHP-Code:
        <option value="<?echo $row['nachname']; ?>"><?echo $row['nachname']; ?></option>

        Kommentar

        Lädt...
        X