onChange in php Selectbox einbauen..

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • phpscripter
    antwortet
    danke für die Hilfe

    ... es tut jetzt.

    Einen Kommentar schreiben:


  • prego
    antwortet
    PHP-Code:
    >?php
    $menu 
    .=
    "<select name=\"".$select_name."\" onChange=\"document.location.href='".$_SERVER['PHP_SELF'].
    "?' + this.name + '='+ this.value\">\n";
    ?> 
    sollte auch funktionieren, oder?


    oder das:
    PHP-Code:
    <?php
    $menu 
    .= ?>
    <select name="<?=$select_name?>"  onChange="document.location.href='<?=$_SERVER['PHP_SELF']?>
    ?' + this.name + '='+ this.value"> <?php ?>
    oder ist das jetzt zu abgefahren?
    Zuletzt geändert von prego; 17.06.2005, 15:14.

    Einen Kommentar schreiben:


  • phpscripter
    antwortet
    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"
    Das Quoting wars....

    Gruss

    Einen Kommentar schreiben:


  • phpscripter
    antwortet
    Original geschrieben von richtsteiger
    anstatt
    PHP-Code:
    this.options[this.selectedIndex].value 
    einfach mal mit
    PHP-Code:
    this.value 
    probieren
    Danke für die Antwort.
    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"

    Der Quelltext- also die Ausgabe sieht so aus:

    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
    Es wird alles richtig gemacht, bis auf das Extrahieren der Variablen....
    Jemand eine Idee?

    Einen Kommentar schreiben:


  • richtsteiger
    antwortet
    anstatt
    PHP-Code:
    this.options[this.selectedIndex].value 
    einfach mal mit
    PHP-Code:
    this.value 
    probieren

    Einen Kommentar schreiben:


  • phpscripter
    antwortet
    Original geschrieben von derHund
    verwende ', um in php strings zu begrenzen, dann kannst du innerhalb derer " verwenden, ohne zu escapen.
    Danke für deine Antwort:

    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:


  • derHund
    antwortet
    verwende ', um in php strings zu begrenzen, dann kannst du innerhalb derer " verwenden, ohne zu escapen.

    Einen Kommentar schreiben:


  • phpscripter
    antwortet
    umgebrochen...

    Original geschrieben von penizillin
    bitte code umbrechen
    http://www.php-resource.de/forum/sho...threadid=50454
    büdde sehr

    Einen Kommentar schreiben:


  • penizillin
    antwortet
    bitte code umbrechen
    http://www.php-resource.de/forum/sho...threadid=50454

    Einen Kommentar schreiben:


  • phpscripter
    hat ein Thema erstellt onChange in php Selectbox einbauen...

    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 
    nur bekomme ich die Verkettung nicht hin. Kann mir jemand damit helfen?


    Danke erstmal
    Zuletzt geändert von phpscripter; 17.06.2005, 13:36.
Lädt...
X