Probleme de formulaire (select passage de valeur)

Résolu
cs_notime Messages postés 3 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 29 avril 2005 - 29 avril 2005 à 11:00
cs_djagger Messages postés 536 Date d'inscription lundi 5 mai 2003 Statut Membre Dernière intervention 29 janvier 2009 - 29 avril 2005 à 11:50
Bonjour, je créer un site intranet dans le cadre de mon stage de fin de DUT informatique.
Description du code : c 'est un formulaire de recherche : une liste pour selectionner le critere et une zone de saisie pour le renseigner. Une checkbox quand elle est cochée fais apparraite un autre select et un autre input.
Le probleme c'est que la valeur du premier select ( le critere de recherche ) nest pas envoyer a l'autre page. Alors que le deuxième select fonctionne ainsi que les 2champs de saisie .
J utilise 3 formulaires : un de depart ,un intermediaire caché, un dernier qui recupere les info des 2 precedents qui renvoit les infos à la page suivant
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="diabete.css" />
<title> Recherche </title>
<script language="JavaScript">
function changer() {
nc6 = (typeof(window.controllers) != 'undefined' && type(window.locationbar) != 'undefined')? true:false;
nc4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;



if (ie4){
if (document.formulaire.more.checked)
document.all.suite.style.visibility ="visible";
else
{document.all.suite.style.visibility ="hidden"; }
}


if (nc6){
if(document.formulaire.more.checked)
eval('document.getElementById("suite").style').visibility = 'visible';
else
{eval('document.getElementById("suite").style').visibility = 'hidden';}
}
if (nc4){
eval('document.' + objet).visibility = 'visible';
}


remplir();
}





// Fonction plaçant les données saisies dans le formulaire final
function remplir() {


document.fin.critere1.value=document.formulaire.critere1.value;


if (document.formulaire.more.checked)
{document.fin.more.value ="yes"; }


document.fin.choix.value=document.formulaire.choix1.options[document.context.choix2.selectedIndex].value;
}



// Fonction pour l'ajout de la saisie dans la liste vers le formulaire final
function ajout() {
document.fin.critere2.value=document.context.critere2.value;
document.fin.choix2.value=document.context.choix2.options[document.context.choix2.selectedIndex].value;
}
</script>
</head>

<form name="formulaire">
Recherche Patient |
----

Criteres de Recherches :,
<select name ="choix1" OnBlur="remplir()">
<option value="rien">--Choisir le critère de recherche--</option>
<option value="nomp">Par Nom</option>
<option value="prenomp">Par Prénom</option>
<option value="daten">Par Date de naissance (jj/mm/aaaa)</option>
<option value="nip">Par Numéro de dossier unique</option>
</select>,
,

----
Recherches à criteres multiples

</form>


<form name="context">
<select name="choix2" Onchange="ajout()">
<option value="">--Choisir le critère de recherche--</option>
<option value="nomp">Par Nom</option>
<option value="prenomp" >Par Prénom</option>
<option value="daten">Par Date de naissance (jj/mm/aaaa)</option>
<option value="nip">Par Numéro de dossier unique</option>
</select>,

</form>






<form name="fin" action="accueil.php?action=search2" method="get">






</form>




</html>

Merci Bonne Journée

5 réponses

cs_djagger Messages postés 536 Date d'inscription lundi 5 mai 2003 Statut Membre Dernière intervention 29 janvier 2009 1
29 avril 2005 à 11:46
bah fais un seul formulaire !

Parce que là, tu passes tes données de form à form, mais ca sert à rien !

du coup plus besoin de ton form fin (mets ACTION et METHOD dans ton form 'formulaire')
J'ai pas tout regardé, mais du coup t'as des fonctions qui sont inutiles (genre remplir() )
3
cs_djagger Messages postés 536 Date d'inscription lundi 5 mai 2003 Statut Membre Dernière intervention 29 janvier 2009 1
29 avril 2005 à 11:30
Salut !

Pourquoi tu utilises plusieurs formulaires ?
0
cs_notime Messages postés 3 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 29 avril 2005
29 avril 2005 à 11:37
ben je debute en Javascript et jai trouver ce moyen sur le net . Donc cest parce que je ne connais pas dautre methode masi si tu a plus simple je suis pas contre ^^

Merci Bonne Journée
0
cs_notime Messages postés 3 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 29 avril 2005
29 avril 2005 à 11:50
ui c 'est vrai c'est bcp plus facile comme ca ^^ je m'étais compliqué la vie et jai repris bêtement le principe sur un site :/
et bien merci de ton aide je devrais pouvoir men sortir comme ca

Merci Bonne Journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djagger Messages postés 536 Date d'inscription lundi 5 mai 2003 Statut Membre Dernière intervention 29 janvier 2009 1
29 avril 2005 à 11:50
Vite fait ca donne :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="diabete.css" />
<title> Recherche </title>
<script language="JavaScript">
function changer() {
nc6 = (typeof(window.controllers) != 'undefined' && type(window.locationbar) != 'undefined')? true:false;
nc4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;



if (ie4){
if (document.formulaire.more.checked)
document.all.suite.style.visibility ="visible";
else
{document.all.suite.style.visibility ="hidden"; }
}


if (nc6){
if(document.formulaire.more.checked)
eval('document.getElementById("suite").style').visibility = 'visible';
else
{eval('document.getElementById("suite").style').visibility = 'hidden';}
}
if (nc4){
eval('document.' + objet).visibility = 'visible';
}


}


</script>
</head>

<form name="formulaire" action="accueil.php?action=search2" method="get">
Recherche Patient |
----

Criteres de Recherches :,
<select name ="choix1">
<option value="rien">--Choisir le critère de recherche--</option>
<option value="nomp">Par Nom</option>
<option value="prenomp">Par Prénom</option>
<option value="daten">Par Date de naissance (jj/mm/aaaa)</option>
<option value="nip">Par Numéro de dossier unique</option>
</select>,
,

----
Recherches à criteres multiples



<select name="choix2">
<option value="">--Choisir le critère de recherche--</option>
<option value="nomp">Par Nom</option>
<option value="prenomp" >Par Prénom</option>
<option value="daten">Par Date de naissance (jj/mm/aaaa)</option>
<option value="nip">Par Numéro de dossier unique</option>
</select>,






</form>




</html>


et après dans ton php tu récup tes données en faisant $_GET["critere1"]; par exemple !

allé a+++
0
Rejoignez-nous