--- /dev/null
+[(#REM) \r
+\r
+ Parametres supplementaire :\r
+ - ** datas : tableau de donnees indice=>valeur\r
+ - defaut : valeur par defaut du parametre\r
+ - type : type de l'input (defaut: text)\r
+ - class : classe(s) css ajoutes a l'input\r
+ - size : taille du champ\r
+ - maxlength : nombre de caracteres maximum\r
+ - disable : champ insaisissable ? 'oui' (defaut : '')\r
+ - valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement\r
+ \r
+ Exemple d'appel :\r
+ [(#SAISIE{input,couleur_foncee,\r
+ label=<:spa:couleur_foncee:>,\r
+ size=7,\r
+ datas=#ARRAY{\r
+ 0,valeur0,\r
+ 1,valeur1,\r
+ 2,valeur2}})]\r
+ \r
+]\r
+\r
+#SET{type,#ENV{type,text}}\r
+\r
+[(#REM) datas peut être une chaine qu'on sait décomposer ]\r
+#SET{datas, #ENV*{datas}}\r
+#SET{datas, #GET{datas}|is_string|?{(#GET{datas}|saisies_chaine2tableau), #GET{datas}}}\r
+\r
+[(#REM) Pas de HTML5, pas de datas]\r
+#SET{datas, #HTML5|?{#GET{datas}}}\r
+\r
+[(#REM) l'attribut autocomplete ne peut avoir pour valeur que on ou off ]\r
+#SET{val_autocomplete, #ARRAY}\r
+#SET{val_autocomplete, #GET{val_autocomplete}|push{on}}\r
+#SET{val_autocomplete, #GET{val_autocomplete}|push{off}}\r
+\r
+<B_selection>\r
+#SET{list_id,champ_#ENV{nom}_datas}\r
+<datalist id="#GET{list_id}">\r
+<BOUCLE_selection(POUR){tableau #GET{datas}}\r
+>[ <option value="(#VALEUR|attribut_html)"></option>\r
+]</BOUCLE_selection>\r
+</datalist>\r
+</B_selection>\r
+<input type="#GET{type}" name="#ENV{nom}" class="#GET{type}[ (#ENV{class})]" id="champ_#ENV{nom}"[ list="(#GET{list_id})"][ value="(#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut}}})"][ size="(#ENV{size})"][ maxlength="(#ENV{maxlength})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"][(#ENV{obligatoire}|et{#HTML5}|oui) required="required"][(#GET{val_autocomplete}|find{#ENV{autocomplete}}|oui) autocomplete="#ENV{autocomplete}"] />\r