+ Antworten
Ergebnis 1 bis 3 von 3
  1. #1
    Admiral Avatar von tigger
    Registriert seit
    01.02.2004
    Beiträge
    12.011


    Standard [PHP] Brauche Hilfe bei Javascript und Input Feld

    Hallo,

    ich steh grad auf dem Schlauch, ich möchte den Wert eines Select tags mittels javascript in ein Input Feld übertragen

    genau genommen sollen die Elemente des Select Tags anhand der Eingabe des Input Feldes noch gefiltert werden, aber das ist erst mal nicht so wichtig

    das Formular soll nicht neu geladen werden

    Hier schon mal mein Quellcode

    PHP-Code:
    <?php

    $vorschlaege 
    = array();
    $vorschlaege[0] = 'Hans Peter';
    $vorschlaege[1] = 'Friedrich Ebert';
    $vorschlaege[2] = '123456';

    echo 
    '<html>';
    echo 
    '<head>';
    echo 
    '<title>Test</title>';
    echo 
    '<body>';
    echo 
    '<form name="searchform">';
    echo 
    '<input type="text" name="search" style="width: 150px"></br>';

    if (
    sizeof($vorschlaege) > 0) {
        
        echo 
    '<select name="values" size="1" style="width: 150px" onchange="javascript:if (document.getElementById(\'values\').selectedIndex > 0) document.getElementById(\'values\').value=\''.$vorschlaege[$document.getElementById('values').selectedIndex].'\'">';
        
        for (
    $i 0$i sizeof($vorschlaege); $i++)
            echo 
    '<option>'.$vorschlaege[$i].'</option>';
        
        echo 
    '</select>';
    }

    echo 
    '</input>';
    echo 
    '</form>';
    echo 
    '</body>';
    echo 
    '</html>';

    ?>
    habe auch schon gesucht, aber irgendwie gehen mir die passenden Suchwörter aus

    danke für jeden Tipp

    das ganze soll nachher google-ähnlich funktionieren, dass es automatisch Suchvorschläge anhand der Eingabe gibt
    Acer Aspire 7741G | Core i5-480M | Radeon HD 6550M | 17,3" 1600x900 LED LCD
    8GB DDR3 667 MHz @ 533 MHz 8-8-8-20 | 128 GB Crucial M4 SSD

    << I maybe 25% Canadian, but I'm still 100% awesome. >> Barney Stinson

  2. #2
    Hauptgefreiter Avatar von pointX
    Registriert seit
    14.12.2009
    Ort
    BaWü
    Beiträge
    192


    • Systeminfo
      • Motherboard:
      • altes P4 Board
      • CPU:
      • P4 @ 3,0 ghz
      • Kühlung:
      • boxed :(
      • Gehäuse:
      • standard Gehäuse
      • RAM:
      • 1,5 gig @DDR1
      • Grafik:
      • Radeo X1650
      • Storage:
      • 120gig @ 500 extern
      • Monitor:
      • 19&quot; TFT
      • Netzteil:
      • NoName...... uralt
      • Betriebssystem:
      • XP
      • Photoequipment:
      • Canon Kompaktkamera

    Standard

    Was ist das ?
    PHP-Code:
    $vorschlaege[$document.getElementById('values').selectedIndex
    Also erst mal zu den Grundlagen:
    1) PHP ist eine Programmiersprache, die auf einem Server ausgeführt wird
    2) Javascript ist eine Scriptsprache, die von Browser auf dem Client ausgeführt wird.

    Da die Ausführung auf 2 verschiedenen Systemen, Server und Client, stattfindet, kann man beides unmöglich kombinieren.
    Das, was du gepostet hat, muss erst mal einen schönen Parse Error ergeben und kann so natürlich nicht funktionieren.

    Fangen wir mal bei einer Grundregel an: immer wenn es geht PHP und HTML code trennen. sowas wie
    PHP-Code:
    echo '<html>';
    echo 
    '<head>';
    echo 
    '<title>Test</title>'

    echo 
    '<input type="text" name="search" style="width: 150px"></br>';

    if (
    sizeof($vorschlaege) > 0) { 
    trägt sehr dazu bei, dass dein Code absolut unübersichtlich wird.

    Vorschlag, wie ich hier rangehen würde:
    1) Erstelle zuerst reinen HTML code. Kein Javascript, kein PHP. Nur die Grundstruktur incl. input-Feld und und Select-Box mit 1 Test-<option>
    2) Javascript hinzufügen: Inhalt der Select-Box in das input-Feld übertragen.
    3) wenn das alles klappt, und erst dann, per php die Select-options dynamisch erstellen

    Das führt dann automatisch zu einer sauberen Trennung von HTML/JS und PHP.

    Danach kann man sich Schritt für Schritt vorarbeiten......
    Wenn du bei 1) fertig bist, poste was du hast..... dann schau ich wieder rein.

    PS: Am ende kann mit jQuery es so aussehen: http://jqueryui.com/demos/autocomplete/
    Bis wir dahin kommen das zu verstehen (und nicht nur munter zusammenzumixxen) ist es aber noch ein Stück arbeit.
    Geändert von pointX (08.02.12 um 21:43 Uhr)
    2500K, Z68-V, Team 8GB 1333, 1TB Samsung F3, Ninja 3, CM-500W

    <codec> root kann mein heim zerstören, mich aus dem system aussperen. Aber nur Gott allein entscheidet, ob ich nach /dev/null/ oder nach /var/log/ komme

  3. #3
    Admiral Avatar von tigger
    Registriert seit
    01.02.2004
    Beiträge
    12.011
    Themenstarter


    Standard

    danke für deine Hilfe, sollte echt nicht mit Erkältung proggen

    hab mich heute nochmal in Ruhe mit Selfhtml zusammen hingesetzt und hatte es in paar Minuten gelöst
    Acer Aspire 7741G | Core i5-480M | Radeon HD 6550M | 17,3" 1600x900 LED LCD
    8GB DDR3 667 MHz @ 533 MHz 8-8-8-20 | 128 GB Crucial M4 SSD

    << I maybe 25% Canadian, but I'm still 100% awesome. >> Barney Stinson

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein