[TYPO3-project-formidable] ModalBox
Jerome Schneider
j.schneider at ameos.com
Tue Jul 17 14:20:25 CEST 2007
Hi Aurélien,
You can't use "majix" directives in runat="server" events.
What you need in that case is runat="ajax"
As a consequence, you also cannot use validators, as there will be no
submit of the page.
So that the onclick runat="ajax" event tests the values of all the
fields of the modalbox, and inserts only if everything is ok.
Schematicaly, your button add_guest becomes :
<renderlet:BUTTON name="add_guest" label="ajouter">
<onclick runat="ajax" params="lastname, firstname, mail">
<userobj>
<php><![CDATA[
$aParams = func_get_arg(1);
if(trim($aParams["lastname"]) == "") {
return $this->majixDebug("ERROR - last name is required");
}
if(trim($aParams["lastname"]) == "") {
return $this->majixDebug("ERROR - first name is required");
}
// so far everything seems ok, proceeding
$this->_oParent->addGuestInGroup($aParams);
return $this->aORenderlets["modalbox"]->majixCloseBox();
]]></php>
</userobj>
</onclick>
</renderlet:BUTTON>
Hope this helps,
Jerome
Aurélien Allienne a écrit :
> Hi list, its me again :)
>
> I have a modalbox with a some element that the user must be set :
> <renderlet:MODALBOX name="modalbox">
> <childs>
> <renderlet:BOX html="Ajouter un invite"
> mode="h3" />
> <renderlet:TEXT name="lastname" label="Nom">
> <validators>
> <validator:STANDARD>
> <required message="*
> Le nom n'est pas renseigne"/>
> </validator:STANDARD>
> </validators>
> </renderlet:TEXT>
> <renderlet:TEXT name="firstname"
> label="Prenom">
> <validators>
> <validator:STANDARD>
> <required message="*
> Le prenom n'est pas renseigne"/>
> </validator:STANDARD>
> </validators>
> </renderlet:TEXT>
> <renderlet:TEXT name="mail" label="Adresse
> de messagerie">
> <validators>
> <validator:STANDARD>
> <required message="*
> L'adresse de messagerie n'est pas renseignee"/>
> <email message="*
> L'adresse de messagerie est non valide"/>
> </validator:STANDARD>
> </validators>
> </renderlet:TEXT>
> <renderlet:BUTTON name="add_guest"
> label="Ajouter">
>
> <wrap><![CDATA[<div>|</div>]]></wrap>
> <onclick runat="server"
> params="lastname, firstname">
> <userobj>
> <php><![CDATA[
> $aParams =
> func_get_arg(1);
>
> $this->_oParent->addGuestInGroup($aParams);
> return
> $this->aORenderlets["modalbox"]->majixCloseBox();
> ]]></php>
> </userobj>
> </onclick>
> </renderlet:BUTTON>
> </childs>
> </renderlet:MODALBOX>
>
> In the addGuestsInGroup, i make a print_($aParams) I have this :
>
> Array ( [label] => grp [guestlist] => [upload] => Array ( [name] => [type]
> => [tmp_name] => [error] => 4 [size] => 0 ) [btn_load] =>
> [btn_add_guest] =>
> [anonymous_2c633a8de8] => [lastname] => [firstname] => [mail] =>
> [add_guest]
> => [modalbox] => [container_guest] => [startup_date] => 1183507200
> [expiry_date] => 1183593600 [description] => ras [access] => blank
> [anonymous_4b7a5b9b5a] => [multi] => [container_more] =>
> [anonymous_556d5905c2] => )
>
> So the other information are ok but the information in the modalbox are no
> set. It's normal or a mistake from me?
>
> Regards
>
> Aurélien Allienne
More information about the TYPO3-project-formidable
mailing list