Raccourcis : Contenu - rubriques - sous rubriques
EN FR
Recherche Rapide Recherche avancée
 
Page

  [Ouvert] jForms : affichage

Posté par Mindiell le 15/03/2012 11:58

Voilà, j'ai créé un formulaire, et j'observe qu'un input en mode read-only est affiché en grisé (ce qui est moins visible).

J'ai donc préféré utilisé la balise output, mais je me retrouve face à un dilemme :

  • input readonly :
<label class="jforms-label" for="jforms_profile_profile_username" id="jforms_profile_profile_username_label">Identifiant</label>
  • output :
<span class="jforms-label" id="jforms_profile_profile_username_label">Identifiant</span>

Il se trouve que mes styles s'appliquant à la balise label, je perds mon style en utilisant la balise output. Il serait bon, je pense, de continuer d'utiliser une balise label, non ?


Mindiell

  [Ouvert] jForms : affichage

Réponse #1 Postée par Mindiell le 15/03/2012 14:08

J'ai modifié le titre, car, plus généralement, il y a de grosses différences d'affichages suivant les options utilisées.

Pour le login, j'utilise le s2 champs identifiant et mot de passe. Pour le profil utilisateur, j'affiche tout un tas d'informations que je regroupe grâce à la balise groupe :

  • l'utilisation de la balise groupe génère un table qui n'affiche pas les informations de la même manière
  • de même, au niveau du template, passer par un groupe demande de ne pas utiliser la balise {ctrl_label} alors que ne pas y passer demande son utilisation pour afficher le label

Explications :

{formcontrols}
   {ctrl_control}
{/formcontrols}

et

{formcontrols}
   <p>{ctrl_label}: {ctrl_control}</p>
{/formcontrols}

Dans le premier cas, le control étant généré dans une table HTML, l'affichage est bien différent du cas paragraphe (présence d'espaces qui autorise un retour à la ligne intempestif dans mon cas)

Il serait bon de voir s'il est possible d'uniformiser au maximum le rendu du formulaire sans avoir à trifouiller trop dans les templates je pense...


Mindiell

  [Ouvert] jForms : affichage

Réponse #2 Postée par laurentj le 15/03/2012 16:33

Bonjour,

j'observe qu'un input en mode read-only est affiché en grisé

Une règle CSS devrait regler ça...

Il se trouve que mes styles s'appliquant à la balise label, je perds mon style en utilisant la balise output

Une règle CSS devrait regler ça... (on peut faire plein de truc tu sais avec les sélecteurs CSS ;-))

Il serait bon, je pense, de continuer d'utiliser une balise label, non ?

Oui mais une balise label sans champs de saisie, c'est pas terrible terrible... D'où le span.

de même, au niveau du template, passer par un groupe demande de ne pas utiliser la balise {ctrl_label} alors que ne pas y passer demande son utilisation pour afficher le label

Il y a un {ifctrl} pour detecter quel est le champs courant dans la boucle. Et donc de faire un affichage en fonction.

  [Ouvert] jForms : affichage

Réponse #3 Postée par Mindiell le 20/03/2012 12:49

Certes, je m'y connais assez bien en CSS, ne t'inquiète pas :)

Par contre, le souci que j'ai est celui-ci :

<p><label class="jforms-label jforms-required" for="jforms_authentication_login_username" id="jforms_authentication_login_username_label">Identifiant<span class="jforms-required-star">*</span></label>

: <input name="username" id="jforms_authentication_login_username" class="jforms-ctrl-input jforms-required" maxlength="50" value="" type="text"/>

Dans ce code source, la partie qui suit le nom de mon champ ( : ) ne fait pas partie du label.

<fieldset id="jforms_profile_profile_general"><legend>Informations générales</legend>

<table class="jforms-table-group" border="0">
<tr><th scope="row"><label class="jforms-label" for="jforms_profile_profile_username" id="jforms_profile_profile_username_label">Identifiant</label>
</th>
<td><input name="username" id="jforms_profile_profile_username" readonly="readonly" class="jforms-ctrl-input jforms-readonly" value="toto" type="text"/>
</td></tr>

Ici je n'ai pas le loisir de rajouter la partie avec les ":". Enfin, les champs étant compris dans une table, l'affichage n'est pas identique.

Tout ceci pour dire que l'affichage est vraiment différent suivant ce que l'on souhaite utiliser et a tendance à multiplier les "bidouilles" CSS et php pour arriver à un résultat plus cohérent en terme de présentation, c'est tout ce que je voulais dire.


Mindiell

  [Ouvert] jForms : affichage

Réponse #4 Postée par laurentj le 20/03/2012 14:48

Tout ceci pour dire que l'affichage est vraiment différent suivant ce que l'on souhaite utiliser

Je dirais que c'est normal non ? Soit tu utilises l'affichage tout automatique, et il te génère alors un code HTML complet (mais bien sûr ça ne correspond pas forcément à 100% à ce que tu veux), soit il génère le strict minimum, et à toi de décorer autour.

Tu ne peux pas avoir un truc qui te génère tout automatiquement sans que tu n'ai rien à faire, et comme tu veux. Bref, l'histoire du beurre, de l'argent du beurre et de la crémière. Ou alors j'ai loupé un truc, et alors il faudrait me proposer une solution, parce que je ne vois pas.

  [Ouvert] jForms : affichage

Réponse #5 Postée par laurentj le 20/03/2012 14:51

Cependant, comme je l'ai dit, beaucoup de choses se résolvent par CSS.

Ici je n'ai pas le loisir de rajouter la partie avec les ":"

.jforms-table-group .jforms-label:after { content:":" };
 
Page
  1. Re: Petit Bug? >
  2. Re: Effacer le cache d'une appli à partir d'une autre appli >
  3. [HaveFnuBB] Tri des sujets >
  4. Re: unknown fonction urljsstring >
  5. Re: Effacer le cache d'une appli à partir d'une autre appli >
  6. Réaffectation du template principal sans passer par les thèmes ? >
  7. Re: Problèmes avec AJAX >
  8. jForms : affichage