2 listes déroulantes liées, envoyer le div dans un autre formulaire ??

Signaler
Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009
-
 goliath2002 -
Bonjour et d'avance merci.

Voilà mon problème. J'ai une page de saisie de véhicule avec 2 listes déroulantes liées (marque / type). Quand je sélectionne la marque, ça me réduit le type des voitures liées à cette marque. Et quand je clique sur le type j'ai une balise
qui s'affiche. Jusque là tout fonctionne.Dans ma
j'ai mis 2 champs text formulaire qui se pré-remplissent : un champ marque et un champ type.
j'ai intégré cette
dans un formulaire où j'ai d'autre champs text, quand j'envoie le contenu de mon formulaire il ne m'envoie pas les 2 champs marque et type qui se trouvaient dans la
. Par contre tous les autres champs passent correctement.

En gros sur ma page j'ai 2 form : 1 form avec l'ajax de mes 2 listes dynamiques et 1 form avec tous les champs text (dont ceux de la div) que j'envoie en base.

Là je coince, quelque chose m'échappe et étant totalement débutant en ajax associé au javascript, je piétine. Merci pour votre aide.

Avec le code ça sera surement plus parlant
J'ai une page ajout.php




Document sans titre

r('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de la marque
sel = document.getElementById('marque');
idmarque = sel.options[sel.selectedIndex].value;
xhr.send("idMarque="+idmarque);
}









----, MARQUE :
Aucun


TYPE :

Choisir un type














Modèle :











Nombre de KM :
Energie :


Année :
Type de boite :






Couleur extérieure :
Garantie :


Finitions intérieures :








Date de 1ère mise en circulation :








Options :,





Autres :,














Prix :








,










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

Un page ajaxVoitAj.php

22 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
Bonjour,

pas simple de voir ce qui se passe !
comment on devine ce que le php génère ?
le contenu de la base de données ?
les include ?
celui des $variables ?...

dans un 1er temps : faites déjà un alert de
formulaire.innerHTML dans le onsubmit
de ce formulaire pour en vérifier le contenu
par exemple et/ou debugger et visualiser
le html/le dom... avec votre navigateur
( outils de développement avec IE8,
firebug avec Fx ... )

avec ce qu'on a ici, je suis bien incapable
de dire si le php se déroule normalement.

Cordialement [mon Site] [M'écrire] Bul
Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009

le php se déroule convenanblement. Toutes les variables sont correctement insérées en base sauf les 2 inclusent dans le

et qui sont généré par la page getcaraj.php. A l'affichage, les champs générés par les listes sont correctement remplis, mais pas envoyé en base.

Merci
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
ces champs sont-ils transmis
au php qui met à jour ou pas ?

vous avez fait des echo pour vérifier ?

s'ils sont bien dans le formulaire, avec
un name et un value, même s'ils sont dans
un div ( je n'ai pas vérifié ça ), pas de
raisons.
car ça se passe dans ajout_voit.php non ?
on n'a pas... si ?
Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009

Non ces 2 champs ne passent pas dans ajout_voit.php, j'ai fait des echo et ils ne passent pas.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
une erreur en html ? , en php,
name existent en double par exemple ? ou autres...
car div ou pas ça doit baigner :
<?php
echo $_POST['lmarque']." ".$_POST['ltype'].'
';
?>
<form method="post">


"
"



</form>
Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009

En fait, mes 2 champs apparaissent dans le champs div en fonction de ce tu choisis dans les listes déroulantes et aucun autre champs n'a le même nom
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
>>champs apparaissent dans le champs div
>>en fonction de ce tu choisis
j'avais bien compris
le mettre en dur, ça permet
de tester "simplement"

>>aucun autre champs n'a le même nom
encore une piste à éliminer donc (?)

néanmoins, erreur il y a !
pourquoi pas une balise non fermée en html...
mais impossible de citer, de penser à toutes
les pistes possibles !
vous avez contrôlé le html ?
avec un éditeur à coloration syntaxique ?
sur un site ? avec l'extension HTML validator
sous Fx, ... ? )
où ?
impossible de tester pour nous
c'est sur un site quelconque ? on peut voir ?
Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009

J'ai essayé en mettant ces 2 champs en dur, ça passe bien
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
ça semble donc venir de getcaraj.php
il faut contrôler le html résultant
car bien entendu, en dur ou généré
( si c'est correct ) par php, les
navigateurs ne savent pas !

<?php
echo $_POST['lmarque']." ".$_POST['ltype'].'
';
?>
<form method=post>


<?php echo ""; ?>
<?php echo ""; ?>



</form>

Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009

comment je peux controler le resultat ?
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
des echo coté php,
des alert coté javascript + regarder la page générée
suffisent souvent.
Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009

En fait quand je sélectionne ma marque et mon type dans les 2 liste déroulante, j'ai les 2 champs qui apparaissent bien pré-rempli, mais quand je regarde le source de la page j'ai pas les champs mais toujours le
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
je pense que quelque chose échappe !!!!

lorsqu'on envoi les formulaires
<form method="post" action="ajaxVoitAj.php"> ou
<form method="post" action="ajout_voit.php"...>

on est bien d'accord que les réponses
des php remplacent la page actuelle ?!?
( pas de target dans ces form )
si oui, alors c'est bien que le php queute
dans ses requêtes ou "ailleurs", qu'il génère
du html incorrect, ou ... ?
Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009

j'ai un <form method="post" action="ajaxVoitAj.php"> pour le lien entre les 2 listes déroulantes et ensuite j'ai <form method="post" action="ajout_voit.php"...> dans lequel j'ai la balise

avec les valeurs retournées par ces 2 listes. Cette balise est censé renvoyer le getcaraj.php.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
>>Cette balise est censé renvoyer le getcaraj.php.
ce n'est pas comme ça que ça se passe
si j'interprète bien votre message ! (?)
si on appelle le serveur autrement qu'avec ajax,
la réponse de celui-ci est affichée et remplace
toute la page appelante ( sauf target vers iframe
par exemple )
quelques menues explications ici
Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009

C'est un peu compliqué tout ça et je suis vraiment pas doué. Il y a peut etre une autre solution.
J'aimerai juste mettre 2 listes déroulantes liées (marque /type) et les autre champs saisies à la main (km/prix...)

Il y a une autre façon de faire ?
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
si je comprend bien, les 2 champs
reprennent les valeurs sélectionnées
dans les select ?
oui ? alors ils servent à quoi ces champs ?

on transmet les value des champs qui
ont un name dans le formulaire
pour les select le value de l'option sélectionnée
Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009

Voila le champs marque

<form method=post action="ajaxVoitAj.php">
<select name='marque' id='marque' onchange='go()'>
<option value='-1'>Aucun</option>
<?
include('libs/prefs.php');
$res = mysql_query("SELECT DISTINCT marque FROM voitures ORDER BY marque");
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["marque"]."'>".$row["marque"]."</option>";
}
?>
</select>


et mon champ type



<select name='type'>
<option value='-1'>Choisir un type</option>
</select>



et les 2 sont liés par ajaxVoitAj.php
Messages postés
21
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
16 octobre 2009

AIDEZ MOI SVP
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
perso je ne peux plus grand chose....
vous ne répondez pas à mes questions,
vous semblez ne pas comprendre comment
html+javascript/php communiquent et
ne tentez pas réellement de regarder
mon exemple...
1 2