Formulier functies
OpenIMS heeft een voorziening voor het maken van popup formulieren. Het volgende voorbeeld illustreert hoe dit in zijn werk gaat:
Het $form object wordt gebruikt voor het specificeren van het formulier: $form = array(); De titel van het formulier: $form["title"] = "Opstellen nieuw contract"; Informatie die van het huidige formulier naar het popup formulier wordt overgedragen: $form["input"]["sgn"] = IMS_SuperGroupName(); Velden in het formulier: $form["metaspec"]["fields"]["bedrijfsnaam"]["type"] = "string"; $form["metaspec"]["fields"]["contactpersoon"]["type"] = "string"; $form["metaspec"]["fields"]["woonplaats"]["type"] = "string"; $form["metaspec"]["fields"]["straat"]["type"] = "string"; $form["metaspec"]["fields"]["postcode"]["type"] = "smallstring"; De inhoud van het formulier: $form["formtemplate"] = ' <table> <tr><td>Bedrijfsnaam: </td><td>[[[bedrijfsnaam:]]]</td></tr> <tr><td>Contactpersoon: </td><td>[[[contactpersoon:]]]</td></tr> <tr><td>Straat: </td><td>[[[straat:]]]</td></tr> <tr><td>Postcode: </td><td>[[[postcode:]]]</td></tr> <tr><td>Woonplaats: </td><td>[[[woonplaats:]]]</td></tr> <tr><td colspan=2> </td></tr> <tr><td colspan=2><center>[[[ok:]]] [[[cancel:]]]</center></td></tr> </table> '; Code die na het invullen van het formulier moet worden uitgevoerd: $form["postcode"] = ' if (!$data["bedrijfsnaam"]) { FORMS_ShowError ("Foutmelding", "De bedrijfsnaam is niet ingevuld"); } <<< etc >>> '; Code die de url genereert die de popup zal weergeven: $url = FORMS_URL ($form); |
Opmerkingen:
- In de “postcode” is het $data object beschikbaar met daarin alle ingevulde informatie.
- Naast “postcode” is er ook “precode”. In “precode” kan het $data object gevuld worden met de initiële inhoud van het formulier.
- In zowel “precode” als “postcode” is het $input object beschikbaar. De inhoud hiervan wordt bepaald met “input”.
- In “postcode” is ook $files beschikbaar indien er velden van het type file gebruikt worden in het formulier.
- Beschikbare types zijn gelijk aan deze in de velden omgeving: smallstring, string, bigstring, smalltext, text, bigtext, yesno, date, time, datetime, list en file.
- Met FORMS_ShowError ($title, $error, $allowretry=false) kunnen fouten worden weergegeven.
- Door in “postcode” de variabele $gotook te vullen met “closeme&parentgoto:<<<url>>>” kan bepaald worden waar het moederformulier naar toe moet springen.