To content | To menu | To search

Tag - formulaires

Entries feed - Comments feed

Tuesday 3 October 2006

Submit par défaut dans un formulaire HTML

Qu'on se le dise, dans un formulaire comprenant plusieurs input de type submit, il n'est pas possible de spécifier le bouton à actionner quand on appuie sur la touche entrée. Si l'on considère que les HIG de Gnome imposent d'avoir un bouton ok à droite du bouton annuler, on se retrouve avec une incompatibilité fondamentale, puisque l'action par défaut est rarement celle d'annuler la saisie que l'on vient de faire. Plusieurs solutions s'offrent dès lors à nous:

  1. Ignorer les HIG, solution non acceptable dans mon cas (sous peine de lynchage généralisé)
  2. Supprimer purement et simplement les boutons annuler, ce qui représente une perte de fonctionnalitées trop importante dans certains cas
  3. Utiliser du JS, solution non acceptable vis à vis de mon challenge personnel (ne pas utiliser de JS avant que l'appli ne soit complètement fonctionnelle)
  4. Tricher.

J'ai donc opté pour la 4ème solution, j'ai triché. J'ai placé mes input comme le souhaitait le navigateur (ok, puis cancel), et utilisé la directive CSS direction pour réorienter le tout, ce qui donne, pour le HTML:

<fieldset class="submit">
	<input type="submit" name="submit" id="ok" value="Ok" />
	<input type="submit" name="submit" id="cancel" value="Cancel" />
</fieldset>

Et pour la CSS:

fieldset.submit {
	direction: rtl;
}

Et le rendu final.

Problèmes connus:

  • Impossible d'utiliser de ponctuation dans les boutons (un point d'exclamation à la fin d'un bouton par exemple se retrouvera au début) Un fieldset.submit input { direction: ltr; } est nécessaire pour bénéficier des ponctuations au bon endroit (merci Matt.Rixx)
  • Surement d'autres conséquences facheuses qui ne me sont pas encore tombées dessus :-)

Mais bon pour l'instant ça marche.

Sunday 24 September 2006

Empecher la sauvegarde d'un mot de passe

Le titre n'est pas très explicite, malheureusement, j'ai du mal a réfléchir ce soir. Nous parlons ici de la sauvegarde d'un mot de passe par Firefox quand on valide un formulaire contenant un champs password. Je ne connais pas exactement les règles qui régissent ce comportement, mais quand on à un formulaire d'enregistrement, en général, cette fonctionnalitée est plus une gène qu'autre chose. Pour la désactiver, il suffit donc d'affecter un attribut autocomplete de valeur off à votre champs:

<input type="password" name="password" id="password" autocomplete="off" />

Je sais, ça fait beaucoup de password.