Hallo zusammen.
Ich habe ein etwas seltsames Problem. Ich habe eine Formular, in welchem sich ein Suchfeld befindet. Dieses Suchfeld befüllt abhängig von der Eingabe per JavaScript ein select-Feld mit Werten aus einer Datenbank.
Entsprechende Stelle im Formular:
Das JavaScript:
Die Datei, welche das Select erstellt (suche6.php):
Abgefragt wird nach dem Senden des Formulars dann mit
Jedoch ist $firma leer.
Ich habe es mit Firebug nachvollzogen, das JS funktioniert, sprich die Daten werden korrekt an den DIV übergeben, aber irgendwie bleibt beim Senden etwas hängen. Ich nutze an einer anderen Stelle die gleiche Technik und dort funktioniert es ohne Probleme. Die Werte des select werden dort problemlos übernommen. Ich weiß nicht, was hier nun anders sein soll. Vielleicht fällt jemandem von Euch etwas auf.
Vielen Dank.
Ich habe ein etwas seltsames Problem. Ich habe eine Formular, in welchem sich ein Suchfeld befindet. Dieses Suchfeld befüllt abhängig von der Eingabe per JavaScript ein select-Feld mit Werten aus einer Datenbank.
Entsprechende Stelle im Formular:
PHP:
echo '<tr><td>Redaktion/Firma suchen:</td><td><input type="text" name="namenssuche" onkeyup="searchNames(this.value);" /></td></tr>';
echo '<tr><td>Auswahl Redaktion/Firma:</td><td><div id="erg_names"></div></td></tr>';
Das JavaScript:
Code:
function searchNames(suchbegriff){
var xmlHttp = null;
// Mozilla, Opera, Safari sowie Internet Explorer 7
if (typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
if (!xmlHttp) {
// Internet Explorer 6 und älter
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
xmlHttp = null;
}
}
}
// Wenn das Objekt erfolgreich erzeugt wurde
if (xmlHttp) {
var url = "suche6.php";
var params = "suchbegriff="+suchbegriff;
xmlHttp.open("POST", url, true);
//Headerinformationen für den POST Request
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
// Zurückgeliefertes Ergebnis wird in den DIV "erg_names" geschrieben
document.getElementById("erg_names").innerHTML = xmlHttp.responseText;
}
};
xmlHttp.send(params);
}
}
Die Datei, welche das Select erstellt (suche6.php):
PHP:
<?php
include("config.inc");
mysql_connect($server, $dbusername, $dbpassword) or die("Keine Datenbankverbindung möglich");
mysql_select_db($db_name)or die("Die Datenbank existiert nicht");
if ($_POST["suchbegriff"]) {
$sb = $_POST["suchbegriff"];
$sql_names = "SELECT * FROM firmen WHERE firma LIKE '%$sb%' OR nachname LIKE '%$sb%' OR vorname LIKE '%$sb%' ORDER BY firma";
$result_names = mysql_query($sql_names);
echo '<select name="firm">';
while ($row_names = mysql_fetch_array($result_names)) {
echo '<option value="'.$row_names[id].'">'.utf8_encode($row_names[firma]).' ('.utf8_encode($row_names[nachname]).' '.utf8_encode($row_names[vorname]).')</option>';
}
echo '</select>';
}
mysql_close();
?>
Abgefragt wird nach dem Senden des Formulars dann mit
Code:
$firma = $_REQUEST['firm'];
Jedoch ist $firma leer.
Ich habe es mit Firebug nachvollzogen, das JS funktioniert, sprich die Daten werden korrekt an den DIV übergeben, aber irgendwie bleibt beim Senden etwas hängen. Ich nutze an einer anderen Stelle die gleiche Technik und dort funktioniert es ohne Probleme. Die Werte des select werden dort problemlos übernommen. Ich weiß nicht, was hier nun anders sein soll. Vielleicht fällt jemandem von Euch etwas auf.
Vielen Dank.