Esta tag permite transmitir argumentos a um URL graças a um pseudo-link não rastreável por um robot (os rotots não «clicam» num botão submit). É particularmente útil no quadro de um URL que direciona para um script de intervenção sobre os dados na base. Neste caso, é necessário proteger o link para esse URL de qualquer risco de ser seguido por um robot.
#BOUTON_ACTION
existe para isso.
A tag a usar é:
#BOUTON_ACTION{label, url, classe, mensagem de confirmação}
O primeiro argumento indica o label do botão.
O segundo argumento, url
, pode ser fornecido pela tag #URL_ACTION_AUTEUR
.
O terceiro argumento, opcional, é o nome de uma classe CSS ou de um conjunto de classes CSS, aplicáveis ao botão; aplicar a classe «ajax» permite ao botão comportar-se como um link ajax; em conjunto com a classe «noscroll», a chamada ajax é feita sem que o navegador role para o topo da página.
Após o SPIP 4.0, se esse argumento contiver ’ajax’, é ao formulário que contém o botão que a classe ’ajax’ fica vinculada. Se necessário, pode-se usar o filtro |ajouter_class
para atribuir outras classes ao formulário.
O quarto argumento, opcional, permite especificar a mensagem de confirmação exibida na validação do botão.
- Atenção:
- se quiser especificar uma mensagem de confirmação, deve também usar o terceiro argumento:
#BOUTON_ACTION{label, url, mensagem de confirmação}
não funcionará corretamente («mensagem de confimação» será passada como nome de classe CSS). Para especificar uma mensagem de confirmação sem especificar classe CSS, escreva:#BOUTON_ACTION{label, url, '', mensagem de confirmação}
- Se usar caracteres acentuados na sua mensagem de confirmação, deve convertê-los na referência numérica do caracter (
é
=>é
).
Exemplo:
#BOUTON_ACTION{validar, #URL_PAGE{meu_script}|parametre_url{var1, val1}|parametre_url{var2, val2}|parametre_url{var3, val3}, ajax, está seguro?}
produzirá a fonte HTML a seguir:
<form class='bouton_action_post ajax' method='post' action='./?page=meu_script&var1=val1&var2=val2&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("está seguro?");'>validar</button>
</div>
</form>
O quinto argumento, facultativo, é o title
do botão
O sexto argumento, facultativo, é um callback
no onclick
da tag gerada. Um exemplo pode ser encontrado na documentação de ajaxReload.
Ver também
A função balise_BOUTON_ACTION_dist que acrescenta mais alguns esclarecimentos sobre a tag homónima.