Probleme de formulaire (select passage de valeur) [Résolu]

Signaler
Messages postés
3
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
29 avril 2005
-
Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
-
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

Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
1
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() )
Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
1
Salut !

Pourquoi tu utilises plusieurs formulaires ?
Messages postés
3
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
29 avril 2005

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
Messages postés
3
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
29 avril 2005

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
Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
1
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+++