[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