[PHP] Brauche Hilfe bei Javascript und Input Feld

tigger

Semiprofi
Thread Starter
Mitglied seit
01.02.2004
Beiträge
8.496
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:
<?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
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Was ist das ?
PHP:
$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:
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.
 
Zuletzt bearbeitet:
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 :)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh