danke für die Hilfe
... es tut jetzt.
onChange in php Selectbox einbauen..
Einklappen
X
-
PHP-Code:>?php
$menu .=
"<select name=\"".$select_name."\" onChange=\"document.location.href='".$_SERVER['PHP_SELF'].
"?' + this.name + '='+ this.value\">\n";
?>
oder das:
PHP-Code:<?php
$menu .= ?>
<select name="<?=$select_name?>" onChange="document.location.href='<?=$_SERVER['PHP_SELF']?>
?' + this.name + '='+ this.value"> <?php ; ?>Zuletzt geändert von prego; 17.06.2005, 16:14.
Einen Kommentar schreiben:
-
Das hat funktioniert...
Danke für die Hilfe-> damit tut es
PHP-Code:$menu .=
"<select name=\"".$select_name."\" onChange=\"document.location.href='".$_SERVER['PHP_SELF'].
"?ViewYear='+ this.options[this.selectedIndex].value\">\n";
Gruss
Einen Kommentar schreiben:
-
Original geschrieben von richtsteiger
anstatt
PHP-Code:this.options[this.selectedIndex].value
PHP-Code:this.value
Puh- javaScript in PHP ist ne echte Qual. Das scheint auch nichts zu bringen- > die Variablen werden nicht richtig extrahiert. Es liegt wohl an dem Quoting...?
Ich hab das jezt so:
PHP-Code:$menu .=
"<select name=\"".$select_name."\" onChange=\"document.location.href=' ". $_SERVER['PHP_SELF'] ."
?\' + this.name + \'=\' + this.value\' \">\n";
PHP-Code:<label for="ViewYear">Jahr auswählen:</label>
<select name="ViewYear"
onChange="document.location.href=' /www/web/include/module/shop/shopTop.php ?\'
+ this.name + \'=\' + this.value\' ">
<option value="2003">2003
<option value="2004">2004
<option value="2005" selected="selected">2005
</select>
Jemand eine Idee?
Einen Kommentar schreiben:
-
anstatt
PHP-Code:this.options[this.selectedIndex].value
PHP-Code:this.value
Einen Kommentar schreiben:
-
Original geschrieben von derHund
verwende ', um in php strings zu begrenzen, dann kannst du innerhalb derer " verwenden, ohne zu escapen.
Ich habe das mal so gemacht- es gibt nun keine Fehler mehr, aber funktionieren tuts auch noch nicht- die javaScript Variablen werden noch nicht richtig extrahiert..:
PHP-Code:$menu .=
"<select name=\"".$select_name."\" onChange=\"document.location.href='".$_SERVER["PHP_SELF"]."?\'
+ this.name + \'=\' + this.options[this.selectedIndex].value' \">\n";
Einen Kommentar schreiben:
-
verwende ', um in php strings zu begrenzen, dann kannst du innerhalb derer " verwenden, ohne zu escapen.
Einen Kommentar schreiben:
-
umgebrochen...
Original geschrieben von penizillin
bitte code umbrechen
http://www.php-resource.de/forum/sho...threadid=50454
Einen Kommentar schreiben:
-
bitte code umbrechen
http://www.php-resource.de/forum/sho...threadid=50454
Einen Kommentar schreiben:
-
onChange in php Selectbox einbauen..
Hallo,
ich kann nicht sagen, dass ich javaScript besonders mag, aber ich möchte es hier in einer php Funktion verwenden.
Meine Funktion holt aus einem mySQL Datenbanktabellenfeld mit demTyp 'datetime' ein Datum, formatiert den String so, dass nur das Jahr generiert wird und stellt die so gefundenen Werte in einer generierten Selectbox dar. Soweit so gut. Das klappt auch hervorragend.
Mein Problem ist hier allerdings, dass bei Auswahl der Werte in der select-Box nichts passiert. Meine Idee also : "Do it with javaScript".
Auch noch gut- aber:
Ich bekomme das Zusammensetzen der Parameter - also den javascript onChange innerhalb des PHP Codes nicht hin. Ein Jammer.
Kann mir da jemand auf die Sprünge helfen?
Hier der Code:
Zuerst die Funktion selbst:
PHP-Code:function database_select($tbl_value, $select_name, $label) {
global $DB_WE;
$menu = "<label for=\"".$select_name."\">".$label."</label>\n";
// hier beginnt problematische Zeile
$menu .= "<select name=\"".$select_name."\" onChange=\"document.location.href='".$_SERVER["PHP_SELF"]."?"\">\n";
// hier endet problematische Zeile
$DB_WE->query("SELECT DATE_FORMAT(DateOrder,'%Y') AS DateOrder FROM ".SHOP_TABLE . " GROUP BY DateOrder");
while ($DB_WE->next_record()) {
$menu .= " <option value=\"". $DB_WE->f("DateOrder")."\"";
$menu .= (isset($_REQUEST[$select_name]) && $DB_WE->f("DateOrder") == $_REQUEST[$select_name]) ? "
selected=\"selected\"" : "";
$menu .= ">" . $DB_WE->f("DateOrder") . "\n";
}
$menu .= "</select>\n";
return $menu;
}
// Aufgerufen wird die Funktion übrigens einfach mit:
$selectBox = database_select("DateOrder", "ViewYear", "Jahr auswählen:");
...
...
...
...
Der problematische Teil ist zwischen Zeile 5 -7.
Es muss hier bei onChange irgendsoetwas rein, weil
+ this.options[this.selectedIndex].value oder
+ this.options[this.selectedIndex].name den ausgewählten Jahr beinhaltet... (glaube ich zumindest)
PHP-Code:$menu .= "<select name=\"".$select_name."\" onChange="document.location.href=\"' . $_SERVER['PHP_SELF']
.'?\" + this.name + "=" + this.options[this.selectedIndex].value
//oder
$menu .= "<select name=\"".$select_name."\" onChange="document.location.href=\"' . $_SERVER['PHP_SELF'] .
'?\" + this.name + "=" + this.options[this.selectedIndex].name
Danke erstmalZuletzt geändert von phpscripter; 17.06.2005, 14:36.Stichworte: -
Einen Kommentar schreiben: