Ankündigung

Einklappen
Keine Ankündigung bisher.

Select-feld setzt auf Standardwerte zurück

Einklappen

Neue Werbung 2019

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

  • Select-feld setzt auf Standardwerte zurück

    Hallo zusammen,

    Ich habe eine Tabelle, die aus einer View von MSSQL seine Werte bekommt.
    Die Werte werden aus einem Eingabeformular über eine Stored Procedure in zwei Tabellen geschrieben, die dann in der View zusammengefasst werden.
    Ein Teil sind 4 Dropdown-Felder, die Werte aus vier unterschiedlichen Tabellen auslesen. Der jeweilige Wert wird in die Tabellen geschrieben, und dann in der Tabelle, also der View korrekt angezeigt.

    Problem:
    Das angezeigte Tabellenformular enthält zwei Buttons, davon einer zum Ändern des Datensatzes. Beim Ändern wird das Eingabeformular aufgerufen, welches die vier Dropdowns enthält.

    Alle Felder werden dann auf den Ursprungswert zurückgesetzt, obwohl ich ein "selected"-Attribut gesetzt habe.

    Jedes Dropdown hat eine eigene Funktion:

    PHP-Code:
    function GetPriority($controlName,$controlRow){
     
     Global 
    $ID,$DB0xxxx,$thisPortal,$i_ThisPageID;
     
     
    $SQLCriteria "SELECT * FROM Tabelle ORDER BY Prio_ID";
     
     
    //Current selection in the country drop down
      
    $strCriterium_ID $_POST['Prio_ID'];  
     
     
      
    //Get data from database   
      
    $hanAllCriteria DBQuery($SQLCriteria$DBxxx"Datenbankname");
     
      
    //Build dropdown CriteriumID   
      
    $html.="<SELECT class='select_1' ID='".$controlName."' NAME='".$controlName."' \n";
     
      
    //  $html.="<OPTION Value='0'>-- Bitte Ausw&auml;hlen --</OPTION>";
      //$html.="<OPTION >"." </OPTION>". "\n";
      
    for ($i=0;$i<mssql_num_rows($hanAllCriteria);$i++){
     
       
    $strCriteriumID mssql_result($hanAllCriteria,$i,'Prio_ID');
       
    $strCriterium mssql_result($hanAllCriteria,$i,'Priority');
       
    $strSelected=''
       if(
    $strCriteriumID==$strCriterium_ID){
        
    $strSelected='selected'
        }
     
       
    $html.="<OPTION VALUE=".$strCriteriumID." ".$strSelected.">" $strCriterium "</OPTION>" "\n";
       }
      
    $html.="</SELECT>""\n";
     
      return 
    $html;

    Werden beim Ändern die Werte der Dropdowns auf die gewünschten werte gesetzt oder geändert, werden die Daten auch erfolgreich in die Tabelle geschrieben. Man muß also immer alle Dropdowns auf die korrekten Werte einstellen. Die Textfelder werden mit ihren korrekten Daten angezeigt udn gespeichert.

    Hat jemand eine Ahnung?


  • #2
    Du hast da was übersehen, geht mir aber auch öfters so:

    statt einfach nur selected zu schreiben muss das bei select tags selected="selected" heißen

    Und tags schreibt man normalerweise klein

    Mfg

    Kommentar


    • #3
      Frage und Code sind alles andere als Fortgeschritten.

      [MOD: verschoben]
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Zitat von MasterD Beitrag anzeigen
        Du hast da was übersehen, geht mir aber auch öfters so:

        statt einfach nur selected zu schreiben muss das bei select tags selected="selected" heißen

        Und tags schreibt man normalerweise klein

        Mfg
        Ist das nicht vom verwendetem HTML Standard abhängig? Üblich ist zwar mittlerweile XHTML wo das tatsächlich so ist, aber HTML 4 lässt AFAIK "leere" Attribute zu.

        @TE
        Wenn es nicht an dem Tipp von MasterD liegt var_dump() mal deine beiden IDs die du im if vergleichst.
        "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

        Kommentar

        Lädt...
        X