Page 1 sur 1

RAZ de champs cachés sur un page précédente

Posté : 30 janv. 2014, 02:26
par cabalito31000
Bonjour à tous,

J'essaye depuis 2 jours de faire un truc, mais mes connaissances sur le sujet ne sont pas assez élevées.. j'ai cherché différents moyens d'y arriver sans faire d'usine à gaz, sans succès...
Voici mon cas:
Recherche d'employés dans des batiments

j'ai une table BATIMENT qui contient un id, une image noir et blanc, une image couleur
et une table EMPLOYE avec les infos employés

sur une page j'aimerai afficher l'image N&B, la passer en couleur quand l'utilisateur clique dessus, la repasser en N&B s'il reclique, etc...
Une fois que l'utilisateur lance le formulaire de recherche, je retourne tous les employés qui se trouvent dans le batiment sélectionné, pour cela je crée pour chaque batiment en base
une image classique qui a pour ID = "IMG"+ID en base du batiment,
Du style

Code : Tout sélectionner

<%php echo "<a href='#' onclick='changeImage("IMG'"+ID, imageN&B, imageCouleur, champcaché)'><img id="IMG"+ID" src="imageN&B"></a>
ainsi qu'un champ caché qui a pour NAME = "CACHE + ID du batiment et initialisé à 0
du style

Code : Tout sélectionner

<%php echo "<input type='hidden' name='CACHE + ID' value=0>%>";
Sur l'image j'ai ajouté un lien onclick, qui appelle une fonction JAVASCRIPT, qui change l'image et qui met à jour mon champ caché (0 ou 1)

Code : Tout sélectionner

function changeImage(image,N&B,couleur,champcache) { if (image.src.indexOf(N&B) >= 0){ image.src=n&B; champcache.value=1; } else { image.src=image; champcache.value=0; }
Tout ceci fonctionne.... ma page résultat affiche les bons trucs. J'utilise les valeurs des champs cachés pour construire ma requête

Mon souci est que si je clique sur précédent, visuellement je n'ai rien de sélectionné, mais en fait les champs cachés sont restés à "1" et donc si je relance une recherche, les critères de ma précédente s'ajoute à ma courante..

J'aimerai donc sur un retour arrière , soit
* afficher l'image n&b ou couleur en fonction de la valeur du champ caché
ou alors
* remettre le champ caché à 0

Merci de votre aide

Re: RAZ de champs cachés sur un page précédente

Posté : 30 janv. 2014, 14:10
par sirakawa
Une idée
Dans la page précédente:
<?PHP

$cache = 0;
print "
<input type "hidden" name = 'champ_caché' value = '$cache' />";
?>

Re: RAZ de champs cachés sur un page précédente

Posté : 30 janv. 2014, 23:59
par cabalito31000
Bonsoir,

Cela ne fonctionne pas. C'est même moins bien, car même en champ texte la valeur ne s'initialise pas... étrange...

Re: RAZ de champs cachés sur un page précédente

Posté : 31 janv. 2014, 13:22
par sirakawa
Si je n'avais pas fait d'erreur de quotes ça fonctionnerait moins mal; mais le problème de marche arrière est qu'elle ne produit pas d'évènement que je connaisse.
<?PHP

$cache = 0;
print "
<input type 'text' name = 'champ_caché' value = '$cache' />";
?>

mais ça c'est mieux
<script type = "text/javascript">

function myFunction(x)
{
x.value= 0;
}
</script>

<?PHP

$cache = 0;
print "
<form method = 'post' action= 'seconde.php'>
<input type 'text' name = 'champ_caché' value = '' onfocus='myFunction(this)' />
<button type = 'submoit'>ok</button>
</form>";
?>

Re: RAZ de champs cachés sur un page précédente

Posté : 31 janv. 2014, 18:01
par cabalito31000
bonjour,

Merci sirakawa, je testerai cela ce week-end.

Sinon j'ai trouvé un paliatif : au lieu d'avoir des champs cachés, j'ai mis des cases à cocher, que je cache avec un style CSS

Re: RAZ de champs cachés sur un page précédente

Posté : 31 janv. 2014, 20:56
par cabalito31000
'Soir

ta solution ne fonctionne pas. (sauf erreur de ma part)

je vais donc rester sur ma solution de case à cocher cachée.

Merci pour ton investissement.

Re: RAZ de champs cachés sur un page précédente [Résolu]

Posté : 31 janv. 2014, 20:57
par cabalito31000
Post passé à résolu

Re: RAZ de champs cachés sur un page précédente

Posté : 16 févr. 2014, 12:21
par sirakawa
Je viens de trouver ça (pas testé) :
<form ..... autocomplete ='off' ...> (spécificationdeu consortium)