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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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?

      Comment


      • #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>

        Comment

        Working...
        X