Mostrar el formulario

Un archivo formulaires/bonito.html se puede llamar desde un esqueleto con la baliza #FORMULAIRE_BONITO, que entonces muestra el formulario en el resultado en pantalla del esqueleto.

El HTML del formulario sigue una escritura estándar para todos los formularios SPIP. Los campos de formularios están enmarcados en listas de elementos ul/li.

<div class="formulaire_spip formulaire_demo">

<form action="#ENV{action}" method="post"><div>
    #ACTION_FORMULAIRE{#ENV{action}}
    <ul>
        <li class="editer_la_demo obligatoire">
            <label for="la_demo">La demo</label>
            <input type='text' name='la_demo' id='la_demo' value="#ENV{la_demo}" class="text" />
        </li>
    </ul>
    <p class="boutons"><input type="submit" class="submit" value="<:pass_ok:>" /></p>
</div></form>
</div>

Para el buen funcionamiento del formulario, el atributo action debe tomar el valor de la variable #ENV{action} calculada automáticamente por SPIP. Así mismo, la baliza #ACTION_FORMULAIRE{#ENV{action}} debe estar presente. Calcula y agrega claves de seguridad que serán verificadas automáticamente a la recepción del formulario.

Algunas observaciones :

  • El formulario está enmarcado en una clase CSS formulaire_spip y otra con su propio nombre, formulaire_demo en este caso. El nombre puede ser recuperado más genéricamente desde el contexto, mediante #ENV{form} (o #FORM directamente), lo que puede dar: <div class="formulaire_spip formulaire_#FORM">.
  • Los tags <li> reciben clases CSS editer_xx donde xx es le nombre del campo, y eventualmente obligatoire para indicar (visualmente) que este campo se debe completar obligatoriamente.
  • Los tags input tienen una clase CSS denominada como su tipo (para paliar as una deficiencia de Internet Explorer en CSS que no entendía input[type=text])
  • Los botones de confirmación están enmarcados en una clase CSS boutons

Utilizar AJAX fácilemente

Rodear la baliza de formulario de una clase CSS ajax indica a SPIP utilizar AJAX, lo que permite recargar el formulario y no toda la página.

<div class="ajax">
#FORMULAIRE_BONITO
</div>

Autor o autora dani Publicado el:

Traducciones: English, Español, français