Abfragen von Select Feldern

Das Forum ist für das Melden von Bugs gedacht. // This forum is intended to report bugs with the APF.
Gesperrt
nxw
Beiträge: 16
Registriert: 01.10.2009, 17:24:11

Abfragen von Select Feldern

Beitrag von nxw » 06.04.2010, 23:37:39

Guten Abend,
ich sitze nun schon seit über einer Stunde an der Abfrage für die Select Felder in einem Formular und verzweifle so langsam, weshalb ich jetzt hier mal mein Glück versuche :)
Ich will die Options dynamisch im Controller erzeugen lassen, was soweit auch ohne Probleme funktioniert, allerdings kann ich diese nachher nicht mehr abfragen, da mir getSelectedOption() NULL zurückliefert.
Bei Options, die fest im Template stehen gibt es dagegen keine Probleme.

Hier noch mein abgespecktes Template + Controller:

Code: Alles auswählen

<@controller namespace="mymodules::download::pres::controller" file="blubb_controller" class="blubb_controller" @>
<core:addtaglib namespace="tools::form::taglib"  prefix="html" class="form" />
	<html:form name="edit" method="post">
	<form:select name="dl_category">
	 	<select:option  value="triangle">triangle</select:option> 
	</form:select>
	<form:button name="speichern" value="Speichern" />
	</html:form>
</div>

Code: Alles auswählen

class blubb_controller extends baseController {
	public function transformContent() {
		$form = $this->__getForm('edit');

		$dl_category = $form->getFormElementByName('dl_category');
		$dl_category->addOption(1, 1);
		$dl_category->addOption(2, 2);
		$dl_category->addOption(3, 3);
		$dl_category->addOption(4, 4);
		$dl_category->addOption(5, 5);
		
		if ($form->isSent() && $form->isValid()) {
			$cat_option = $dl_category->getSelectedOption();
			
			var_dump($cat_option->getAttribute('value'));
		}
		$form->transformOnPlace();
	}
}
Gruß,
nxw :mrgreen:

Benutzeravatar
dr.e.
Administrator
Beiträge: 4605
Registriert: 04.11.2007, 16:13:53

Re: Abfragen von Select Feldern

Beitrag von dr.e. » 07.04.2010, 00:25:13

Hallo nxw,

welche Version des APF nutzt du? Ich vermute 1.11, denn dort gab/gibt es ein Bug, der verhindert, dass dynamisch hinzugefügte Optionen korrekt vorbelegt werden. Der Code der 1.11er-Taglib (Klasse form_taglib_select) hat die dafür relevante Zeile auskommentiert:

Code: Alles auswählen

function &getSelectedOption(){

   // execute presetting lazily for dynamic forms
   //$this->__presetValue();
Ich würde dir deshalb empfehlen, in der Zeile

Code: Alles auswählen

$this->__presetValue();
die Kommentar-Zeichen zu entfernen oder auf die aktuelle SVN-Version upzudaten. In dieser ist das Problem mit dynamischen und gemischten Select-Optionen sauber gelöst. Das bedeutet allerdings, dass einige Anpassungen am Code notwendig sind, die nicht ohne sind. Versuchen wir es also erst mal mit der ersten Idee. :)
Viele Grüße,
Christian

nxw
Beiträge: 16
Registriert: 01.10.2009, 17:24:11

Re: Abfragen von Select Feldern

Beitrag von nxw » 07.04.2010, 09:41:46

Morgen,
vielen Dank für die schnelle Hilfe, daran lag es tatsächlich. :D

Habe jetzt beide Lösungswege ausprobiert und es funktionieren auch beide.
Daher werde ich wohl auch weiter die aktuelle Version aus dem SVN benutzen.

Gruß,
nxw

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast