phpMyForm : Champ de type « select »

<select name="field_name" id="field_name">
     <option value="value1">Option 1</option>
     <option value="value2">Option 2</option>
     <option value="value3">Option 3</option>
     ...
</select>

Le code HTML est indiqué pour information. Il est généré automatiquement par le script phpMyForm.

Attributs

Description des divers attributs possibles pour le champ de type select.

Seul l'attribut field_type est requis.

Si les autres attributs ne sont pas définis, la valeur défaut est prise en compte.


field_type

[field_name]
field_type=select
...

Ces deux lignes du fichier form_definition.ini sont les seules requises.


mod

[field_name] ...
;défaut : default
mod=group_start

Valeurs possibles :

mod description


function_ini

[field_name]
...
;défaut : ''
function_ini=my_function

Définition d'une fonction qui va générer dynamiquement le tableau associatif php issu normalement du parsing du fichier ini défini dans la section ini.
Cette fonction (si définie) prime sur l'utilisation du fichier ini contenu dans le dossier défaut form_name/ini.


ini

[field_name]
...
;défaut : field_name.ini
ini=my_file

Structure du fichier ini

Sections du fichier ini : select est obligatoire.
Le reste suivant select est libre, mais doit-être différent pour chaque option.

[to_select]
option=--- Sélectionner une option --- 

[select_1]
option=option 1
value=value1

[select_2]
group_start=Nom groupe
option=option 2
value=value2

[select_3]
option=option 3
value=value3

[select_4]
group_end="/optgroup"
option=option 4
value=value4

[select_5]
option=option 5
value=value5

[select_6]
option=option 6
value=value6

...

[custom]
option=--- Valeur personnalisée ---

Description des sections du fichier ini


select

[field_name]
...
select.to_select.option="--- selection ---"

select.select_1.option=option 1
select.select_1.value=option1

select.select_2.group_start=Nom groupe
select.select_2.option=option 2
select.select_2.value=option2

select.select_3.option=option 3
select.select_3.value=option3

select.select_4.group_end="/optgroup"
select.select_4.option=option 4
select.select_4.value=option4

select.select_5.option=option 5
select.select_5.value=option5

select.select_6.option=option 6
select.select_6.value=option6

...

select.custom.option=--- Valeur personnalisée ---

Définition des diverses options select.

Cela prime sur l'utilisation du fichier ini externe si défini.

Voir section ini pour description option, value, group_start, group_end.

Dans select.select_1.xxxxx=xxxxx, select est obligatoire. Le reste suivant select est libre, mais doit-être différent pour chaque option.


custom_field

[field_name]
...
custom_field=field_name_01

ID d'un champ text ou textarea.

Le champ text (ou textarea) doit avoir l'attribut custom à 1.

Exemple :

[select01]
field_type=select
custom_field=select_custom01

...

[select_custom01]
field_type=text
custom=1

...

Voir un exemple de formulaire


default

[field_name]
...
;defaut : ''
default=value default

Valeur défaut du champ.


label

[field_name]
...
;defaut : ''
label=Texte du label

Texte affiché dans partie gauche (*)

Uniquement avec mod :

mod description

(*) Voir les différentes options (col_label et pos_label) d'affichage du label dans les options du formulaire


heading_group

[field_name]
...
;defaut : ''
heading_group=Lorem ipsum dolor sit amet, consectetur adipisicing elit.

Texte affiché au dessus du 1er champ d'un groupe.

Uniquement avec mod :

mod description


groupe_marge

[field_name]
...
;defaut : ''
group_marge=30px

Marge gauche (syntaxe CSS) d'un groupe de champs commutable.

Uniquement avec mod :

mod description


group_hidden

[field_name]
...
;défaut : 0
group_hidden=1

Le groupe de champs commutable sera désactivé et non visible.

Uniquement avec mod switch.

mod description


text_before_data

[field_name]
...
;defaut : ''
text_before_data=Lorem ipsum dolor sit amet, consectetur adipisicing elit.

Texte affiché en haut du bloc data.

Uniquement avec mod :

mod description


text_after_data

[field_name]
...
;defaut : ''
text_after_data=Lorem ipsum dolor sit amet, consectetur adipisicing elit.

Texte affiché en bas du bloc data.

Uniquement avec mod :

mod description


text_top

[field_name]
...
;defaut : ''
text_top=Texte affiché au dessus du champ

text_before

[field_name]
...
;defaut : ''
text_before=Texte affiché devant le champ

text_after

[field_name]
...
;defaut : ''
text_after=Texte affiché après le champ

text_bottom

[field_name]
...
;defaut : ''
text_bottom=Texte affiché au-dessous du champ

image

[field_name]
...
;defaut : ''
image=http://www.mon-site.com/my-image.png

Url de l'image affichée devant le champ.


class

[field_name]
...
class=class1 class2

Si plusieurs class, les séparer par un espace.

<select class="class1 class2" name="field_name" id="field_name">
     <option value="value1">Option 1</option>
     <option value="value2">Option 2</option>
     <option value="value3">Option 3</option>
     ...
</select>

class_opt

[field_name]
...
class_opt=class1 class2

Si plusieurs class, les séparer par un espace.

<select name="field_name" id="field_name">
     <option class="class1 class2" value="value1">Option 1</option>
     <option class="class1 class2" value="value2">Option 2</option>
     <option class="class1 class2" value="value3">Option 3</option>
     ...
</select>

style

[field_name]
...
;defaut : ''
style="border: 1px solid green; background-color: red;"

Syntaxe CSS.

Le ; est obligatoire à la fin (en cas d'ajout de style par le script).

<select style="border: 1px solid green; background-color: red;" name="field_name" id="field_name">
     <option value="value1">Option 1</option>
     <option value="value2">Option 2</option>
     <option value="value3">Option 3</option>
     ...
</select>

required

[field_name]
...
;défaut : 0
required=1

Attribut HTML required

<select required name="field_name" id="field_name">
     <option value="value1">Option 1</option>
     <option value="value2">Option 2</option>
     <option value="value3">Option 3</option>
     ...
</select>

rules

[field_name]
...
rules.rule1.value=rule1_value
rules.rule1.message=rule1_message
rules.rule2.value=rule2_value
rules.rule2.message=rule2_message
...

Définition des règles de validation du champ.

Règles de validation