SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [vi] [zh] Espace de traduction

Télécharger

#BOUTON_ACTION

Avril 2010

Toutes les versions de cet article :

La balise #BOUTON_ACTION{libellé, url, class, confirm_message} produit le source html complet d’un formulaire (methode POST) comportant uniquement un bouton de type submit.


L’intérêt de cette balise est qu’elle permet de transmettre des arguments à une url grâce à un pseudo-lien non suivable par un robot (les robots ne « cliquent » pas sur un bouton submit).
C’est particulièrement utile dans le cadre d’une url qui renvoit vers un script d’intervention sur les données en base. Il faut alors protéger le lien vers cette url de tout risque d’être suivi par un robot.
#BOUTON_ACTION (depuis SPIP 2.1) est là pour ça.

La balise est à utiliser ainsi :

#BOUTON_ACTION{libellé, url, class ,message de confirmation}

Le 3e argument, optionnel, est un nom de classe css ; lui donner la valeur « ajax » permet au bouton de se comporter comme un lien ajax ;
Le 4e argument, optionnel, permet de préciser le message de confirmation affiché lors de la validation du bouton.

-  Attention :

  • si vous désirez préciser un message de confirmation, vous devez aussi renseigner le 3e argument : #BOUTON_ACTION{libellé, url ,message de confirmation} ne fonctionnera pas comme vous l’entendez (« message de confirmation » sera passé comme nom de classe css). Pour préciser un message de confirmation sans préciser de classe css, écrire :
    #BOUTON_ACTION{libellé, url , '', message de confirmation}
  • Si vous utilisez des caractères accentués dans votre message de confirmation, vous devez les traduire en entités numériques (é => é).

Exemple :
#BOUTON_ACTION{valider, #URL_PAGE{mon_script}|parametre_url{var1, val1}|parametre_url{var2, val2}|parametre_url{var3, val3}, ajax, êtes-vous sûr ?}

produira le source html suivant :

<form class='bouton_action_post ajax' method='post' action='./?page=mon_script&amp;var1=val1&amp;var2=val2&amp;var3=val3'>
<div>
<input name="page" value="mon_script" type="hidden" />
<input name="var1" value="val1" type="hidden" />
<input name="var2" value="val2" type="hidden" />
<input name="var3" value="val3" type="hidden" />
<button type='submit' class='submit' onclick='return confirm("&#234;tes-vous s&#251;r ?");'>valider</button>
</div>
</form>

Voir le squelette de cette page Site réalisé avec SPIP | Espace de traduction | Espace privé