Salut à tous!

Voila j'ai un problème sur lequel je m'acharne depuis un bon bout de temps, je vous explique.

J'ai un formulaire avec plusieurs champs (combobox, checkbox) concernant des produits issus d'une base de données. Dans les combobox, je dois pouvoir selectionner tout d'abord une catégorie, puis en fonction de la catégorie selectionnée, le combobox "produit" contiendra seulement les produits de cette catégorie. Je ne vois absolument pas comment faire ca. Sur le meme principe, en cochant une checkbox je dois avoir un formulaire différent.
Voila j'espere avoir été assez clair Smiley ohwell

Merci d'avance pour vos réponses!
Modifié par batssa (22 Oct 2007 - 16:01)
Oui je m'en étais un peu douté, mais le pb c'est que je ne sais pas si j'ai besoin de recharger la page avec a chaque fois des nouvelles valeurs pour le form ou si ca peut se faire directement?
Si il faut recharger la page comment faire pour garder en mémoire une checkbox cochée par exemple?
L'avantage du Javascript et de l'Ajax c'est qu'il n'y a pas besoin de recharger !

Sinon en PHP tu peux savoir si une checkbox a été cochée en vérifiant que la variable name de la checkbox existe. Par exemple :
<?php
// print_r($_POST);
if (isset($_POST['checkbox1'])) {
	echo "La première checkbox a été cochée.<br />";
}
if (isset($_POST['checkbox2'])) {
	echo "La seconde checkbox a été cochée.<br />";
}
?>
<form method="post">
  <p><input type="checkbox" name="checkbox1" />oui</p>
  <p><input type="checkbox" name="checkbox2" />non</p>
  <p><input type="submit" name="Submit" value="Envoyer" id="Submit" /></p>
</form>

A+
Modifié par Heyoan (22 Oct 2007 - 15:15)
Ok merci,
Une derniere chose si j'utilise ta méthode php, est ce que je peux recharger la page sans cliquer sur le bouton submit mais en gardant les donnée en mémoire? C'est a dire pouvoir poursuivre le remplissage du formulaire une fois une option choisie, avec un onChange sur la checkbox par exemple.
Modifié par batssa (22 Oct 2007 - 15:26)
Et bien d'une manière générale et pour des questions d'accessibilité, il faut d'abord que ta page fonctionne sans Javascript (donc faire les tests sur les champs saisis uniquement en PHP). Cela implique qu'il ne te sera pas possible de "recharger" ta page mais seulement de la soumettre (submit) puisque PHP est un language serveur et non un language client (cf. Google Smiley cligne ).

Une fois que tout fonctionne, il est temps de rajouter une surcouche Javascript (ou Ajax) qui va "dissimuler" les formulaires jusqu'à ce qu'une checkbox soit cochée, etc...

Je ne sais pas ce que tu veux faire mais pour la partie full PHP, l'idéal (le plus simple) serait de pouvoir tout afficher (les 2 formulaires) en les séparant bien visuellement (par exemple à l'aide de <fieldset>).
Si ce n'est pas possible, il faudra sans doute faire plusieurs pages consécutives :
- page "sélection d'un formulaire (checkbox + submit)
- en fonction du premier choix, affichage dans une nouvelle page du formulaire qui va bien...

A+

PS : pour un "checkBox qui serait de type submit" tu peux peut-être utiliser un <input type="image"...> Smiley murf