Un Form dans un Form

Signaler
Messages postés
507
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
-
Messages postés
193
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
18 novembre 2009
-
Salut tout le monde !

Donc voila mon problème :

J'ai un formulaire qui contient notamment un champ et une liste déroulante.
Lorsque je valide 1 de ces champs je voudrais que la liste de données se change selon l'information... SANS valider le formulaire.

Alors j'ai bien essayé de faire un truc du genre :

<form name="form1">

<form name="form2">

</form>

</form>

J'ai joué sur le noms des formulaires, avec le javascript...etc.. Mais rien à faire ca marche pas. Il comprend pas lequel des formulaires je valide.

Quelqu'un aurait-il une idée ? Ou peut-être n'y a t il pas de solution ?

En vous remerciant

Stailer
<-- St@iLeR -->

6 réponses

Messages postés
139
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
15 novembre 2005

je m'y conné pas trop encore, je debut dans le php mais je pence que ca c plutot du java que du php :-/
va voir dans la section java je pence ou attent l'avi d'un exper ;)
Messages postés
71
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
27 juin 2003
2
Hello,

Je ne suis pas encore un pro non plus, mais voici deux idées de solutions:

1/ Javascript: si tu connais le contenu de ta liste déroulante, tu peux créer un tableau en Javascript contenant ces différentes valeurs, puis charger les valeurs voulues dans ta liste déroulante via une fonction déclenchée par l'event onChange placé sur un des champs. Le problème est que si tu as un grand jeu de valeurs pour ta liste déroulante, le chargement de la page risque d'être un peu long.

2/ PHP: tu peux également écrire une page PHP qui va générer le contenu de ta liste déroulante, sans pour autant recharger la page. Il suffit que tu appelles cette page PHP dans une frame cachée et de rapatrier le contenu via un innerHTML. Mais c'est peut-être un peu compliqué.

Remarques, si tu as un peu de temps, la manière solution, c'est encore de jouer avec un XML et XSL au niveau client (à condition que le client possède un parseur installé sur son système).

Ce sont juste des idées qui me passent par la tête, sans être certain que tu puisses les mettre en application.

A+

Ken.
Messages postés
143
Date d'inscription
vendredi 5 juillet 2002
Statut
Membre
Dernière intervention
18 mars 2006
1
Salut !!

Je ne suis pas sur d'avoir bien saisie ce que tu voulais faire, mais voici un exemple (vite fait) qui repondra peut etre a ta question...

Si tu as un prb avec mon code, fait le moi savoir !!
Note : j'ai fait ca vite fait en voyant ton message, donc l'interet de ma liste reste a confirmer !!. ;-)

Allez A+ :-)

exemple :

-------------------

<html>
<head>

<script language= "JavaScript">
<!--
function updateFieldFromList(liste,champs) {
<!-- ma fonction prend donc en parametre, la liste des elements a comparer, et le champs pour afficher le resultat -->

for (var i=0; i <= liste.length; i++) {
if(liste.options[i].selected) {
champs.value = liste.options[i].value;
return;
};
}
}
-->
</script>
</head>

<form name="choix">
Une liste de themes...
<select name="entree" size=5 onClick="updateFieldFromList(this.form.entree,this.form.sortie)">
<option value="" selected> -- Choisit un theme--
<option value ="couleur">Couleur
<option value="dimension">Dimension
<option value="forme">Forme
</select>
Le resultat de ta selection (sans recharger la page) :

</html>
-------------------
Messages postés
507
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
1
Salut,

Merci pour ce code que je vais mettre de côté, mais concernant ce que je voulais faire ca n'est pas ca.

Si tu veux, j'ai une liste de noms dans une zone de liste entourée par la balise form.
En fonction du nom sélectionné je voudrais qu'une liste au-dessous se remplisse avec le prénom correspondant (c'est un exemple... Pas la réalité).

Ca j 'y arriverai... Mais le problème est que ces 2 listes et ce form sont justement dans un autre form pour afficher des informations sur la page php qui récupère les valeurs du post.

Donc vala.. Pas évident.

M'enfin bon, merci quand même pour ton code, il me servira pour d'autres trucs.

A++

<-- St@iLeR -->
Messages postés
4
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
14 décembre 2004

A mon avis le php est la meilleure solution à ton probleme...
Bon il serait quand meme bien de valider le formulaire, ne serait ce que pour raffraichir la page, mais je ne suis pas vraiment un boss dans ce domaine...
Si j'étais toi (enfin j'ai pas tres bien compris ce que tu voulais faire mais...), je ferais un truc du genre:

<?php
$choix = $_POST['choix'];
?>

<form name="form1" action="recharge.php" method="post">
<select name="choix">
<option value="choix1">choix 1
<option value="choix2">choix 2
<option value="choix3">choix 3
</select>

">
</form>

Bon y'a peut etre des erreurs (certainement) mais soyez cools je ne suis que débutant ;)
Messages postés
193
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
18 novembre 2009

y a un probleme dans ton code...
le truc c'est que quand tu lance ta page pour la premiere fois ba y a une erreur du type
 Notice: Undefined index: choix in  
c un peut chiant et je ne sait pas comment le resoudre alors si voua avez des idéés...
Merci d'avance
nats