templates + boutons radio

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : templates + boutons radio

par mcorgnet » 01 déc. 2006, 10:39

bah le {FIELD.SELECTED}, c'est moi qui l'ai créé.

En fait, mon $i (dans ma boucle pour générer mon formulaire), est le même pour cinq boutons radio. Seule change la valeur, en fait, sur mes radio.

voici le code php actuel :
	for ($i=0;$i<$cptFields;$i++) {
	$class=$listFields[$i][2]==1?"class=\"hidden\"":"";
	$classTitle=$listFields[$i][2]==1?"title":"normal";
	$selected="";

		$template->assign_block_vars('FIELDS', array(
			'I'=>$i,
			'ID'=>$listFields[$i][0],
			'LIBELLE'=>$listFields[$i][1],
			'ISTITLE'=>$listFields[$i][2],
			'NOTE'=>$listFields[$i][3],
			'SELECTED'=>$selected,
			'CLASS'=>$class,
			'CLASSTITLE'=>$classTitle
		));
	}
Et voici la boucle template en entier :

Code : Tout sélectionner

<!-- BEGIN FIELDS --> <input type="hidden" name="id[{FIELDS.I}]" id="id{FIELDS.I}" value="{FIELDS.ID}" /> <tr class="{FIELDS.CLASSTITLE}"> <td width="350" height="50" align="left">{FIELDS.LIBELLE}</td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}0" value="0" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}1" value="1" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}2" value="2" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}3" value="3" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}4" value="4" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}5" value="5" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> </tr> <!-- END FIELDS -->

par Truc » 01 déc. 2006, 00:01

Le "{FIELDS.SELECTED}" doit bien servir à ça, non ?

par jojolapine » 30 nov. 2006, 19:56

regarde du côté de ton template s'il ne comporte pas de tests conditionnels déja implémenté...?

templates + boutons radio

par mcorgnet » 30 nov. 2006, 18:29

Bonjour,

j'ai un dilemne, et je ne sais pas comment m'y prendre pour le résoudre. C'est plus dans le concept que dans le code, d'ailleurs, que je pose ma question :

J'ai un formulaire html, qui ne comprend que des boutons radio :

Code : Tout sélectionner

<tr class="{FIELDS.CLASSTITLE}"> <td width="350" height="50" align="left">{FIELDS.LIBELLE}</td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}0" value="0" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}1" value="1" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}2" value="2" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}3" value="3" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}4" value="4" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}5" value="5" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> </tr>
Mon problème, c'est qu'il est dans un template, et donc je ne peux pas placer de test if en php. Du coup, comme je récupère mes résultats dans une base de données, je ne sais pas comment placer la bonne valeur à "checked" pour chacune des occurences de formulaire.

Comme c'est un formulaire généré, ce bout de code est multiplié autant de fois que besoin ...

Une suggestion ?