Zum Inhalt springen

Problem mit GPvar und POST-Variable

Erstellt am 13. April 2007 · 2 Antworten · letzte Antwort am 30. April 2007

Tags: Frage

spogspog ·

Hallo Forum,
ich möchte aus einer Liste von Projekten, nur diejenigen anzeigen, die für einen bestimmten Kunden realisiert wurden. Dazu erzeuge ich eine DropDown-Liste, aus der man den Kunden auswählen kann.
Nach der Auswahl reloadet sich die Seite und es werden nur noch die gewünschten Projekte angezeigt.
So weit funktioniert auch alles.

Nun möchte ich aber, das nach dem Reload natürlich der entsprechende Kunde in der DropDown-Liste auch vorselektiert ist.
Dies versuche ich mit einer if-Abfrage zu lösen ( 35.renderObj.10 ). Das Problem ist, dass diese Abfrage niemals true wird. Allem anschein nach, ist der Wert in GPvar:clientNameId nicht gesetzt. Die POST-Variable clientNameId wird aber übergeben! Das sehe ich auch daran, dass die richtigen Projekte aufgelistet werden. Nur TS scheint nichts von der Variable mitzubekommen...
Wo könnte der Fehler liegen??

Hier mein TS:

lib.archiveDropDown = COA
lib.archiveDropDown{
	
	10 = TEXT
	10.dataWrap = <form name="clientSelect" action="{getIndpEnv:TYPO3_REQUEST_URL}" method="post">
	
	20 = TEXT
	20.value = <select name="clientNameId" size="1" onchange="document.clientSelect.submit();"
	
	30 = TEXT
	30.value = <option value=""> </option>
     	35 = CONTENT
     	35{
		table =  user_portfoliomanager_clients
        	select {
        		pidInList = 37
              		selectFields = uid,clientname
              		orderBy = clientname
              	}
         
      		renderObj = COA
      		renderObj {
        		5 = TEXT
        		5.wrap = <option value="
        		5.field = uid
        		        
                        ####################
                        # hier liegt das Problem!
                        # die if-Abfrage wird nie wahr
                        # der Wert in GPvar:clientNameId scheint immer leer zu sein!
        		10 = TEXT
        		10{
        		    if.value.data = GPvar:clientNameId
        		    if.equals.field = uid 
        		    value = " selected="selected" 20="TEXT" 20value=""> 
        		       		 
        		30 = TEXT
        		30.field = clientname
        		30.wrap =  |</option> 
      		}
         }     	
     
     	40 = TEXT
     	40.value = </select>
	
	50 = TEXT
	50.value = </form>
}

vielen Danke und viele Grüsse
Spog

FordPrefect ·

Hi,

prüfe doch mal ob die Var zur verfügung steht:

page.999 = TEXT
page.999.value.data = GPvar:clientNameId

oder 

page.999.value = GPvar:clientNameId

Dann müsste die ID ausgegeben werden

spogspog ·

wenn ich

60 = TEXT
60.value.data = GPvar:clientNameId

anhänge, bekomme ich keine Ausgabe der ID ;(

Sie ist aber da! Wie oben schon beschrieben, werden ja die richtigen Projekte angezeigt. Und auch mit der Firefox-Extension "UrlParams" kann ich sehen, dass "clientNameId" als POST-Variable übergeben wird.

Ich kann auch sehen, dass die Variable da ist, wenn ich das Formular von Post auf get umstelle

10 = TEXT
10.dataWrap = <form name="clientSelect" action="{getIndpEnv:TYPO3_REQUEST_URL}" method="get">

Die if-Bedingung wird trotzdem nicht erfüllt...

Was gibt es noch für Möglichkeiten des Debuggings? Bin gerade etwas ratlos...

viele Grüsse
apogspog