Pb formulaire pr rediriger vers un autre form

Résolu/Fermé
nuleninformatique - 28 juil. 2009 à 16:09
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 27 oct. 2009 à 17:08
Bonjour,
pour mon projet de master, je dois créer un formulaire. Ca consiste en une 1ere page où la personne donne des infos : nom, prenom, age, niveaux d'etudes. Puis, en fonction du niveau d'etudes choisi (qui est un menu deroulant), quand la personne clique sur le bouton "submit", la personne est renvoyée vers un nouveau formulaire.
La 1ere page est "créée", mon problème c'est "comment envoyer la personne vers le 2e formulaire, qui sera fonction du niveau d'etude choisi".
Pourriez vous m'aider ?
merci d'avance parce que je galère !!!!!!!
A voir également:

4 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
28 juil. 2009 à 16:27
deux solutions, une en html/javascript, l'autre en PHP

sol1 : en javascript
ton fichier peut être nommé en  .html
tes noms de pages sont dans value de ta liste
<html>
<head>
<script type="text/javascript">
function redirection(id_lire){
	var niv_etude=document.getElementById(id_lire).value;
	window.location.href=niv_etude;
}
</script>
</head>
<form name="form1" method="POST" action="" onSubmit="redirection('niv_etude');">
	<select name="niv_etude" id="niv_etude">
		<option value="niv1.html">Niveau 1</option>
		<option value="niv2.html">Niveau 2</option>
		<option value="niv3.html">Niveau 3</option>
	</select>
	<input type="submit" name="envoyer" value="Envoyer">
</form>
</html>

sol2: en php
ton fichier doit obligatoirement être nommé en .php !!!
<?php
if(isset($_POST['Envoyer'])){ 
	header("Location:$_POST['niv_etude']");
	//si bouton envoyer a été clické on redirige vers la pge apropriée
}
//ATTENTION il ne doit rien avoir avant cette partie php, pas de balise html, pas de ligne vide, d'espace etc..
?>
<html>
<head>

</head>

<form name="form1" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
	<select name="niv_etude" id="niv_etude">
		<option value="niv1.html">Niveau 1</option>
		<option value="niv2.html">Niveau 2</option>
		<option value="niv3.html">Niveau 3</option>
	</select>
	<input type="submit" name="envoyer" value="Envoyer">
</form>
</html>
0
nuleninformatique
28 juil. 2009 à 18:10
bonjour et merci beaucoup pour votre réponse, et surtout aussi vite !!
j'ai testé la méthode avec javascipt, mais quand on clique sur "envoyer", rien ne se passe, on reste sur la meme page, et on n'est pas dirigé vers le formulaire correspondant. Pourtant j'ai bien veillé à nommer mes formulaires comme dans les value,
je vous copie le code, au cas où mon erreur vous sauterait aux yeux,

<html>
<head>
<script type="text/javascript">
function redirection(id_lire){
var niv_etude=document.getElementById(id_lire).value;
window.location.href=niv_etude;
}
</script>
</head>
<form name="form1" method="POST" action="" onSubmit="redirection('niv_etude');">
<p>
<h1>Bonjour et bienvenue</h1> <br/>

Vous êtes sur le point de répondre à un questionnaire d'évaluation bucco-dentaire.
<br/>
Au préalable, veuillez vous identifier :

<br/><br/><br/>

Nom <input type="text" name="nom"/>
<br/> <br/>

Prénom <input type="text" name="prenom"/>
<br/><br/>

Age <input type="text" name="age"/> ans
<br/><br/>

Niveau d'études <select name="niv_etude" id="niv_etude">
<option value="niv1.html">Actuellement écolier, collégien ou lycéen</option>
<option value="niv2.html">Actuellement étudiant</option>
<option value="niv3.html">Niveau BAC ou moins</option>
<option value="niv3.html">Niveau BAC +</option>
</select>
<input type="submit" name="envoyer" value="Envoyer">
</form>
</html>

merci bcp d'avance !!!!
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
28 juil. 2009 à 18:23
alors remplaces
window.location.href=niv_etude;

par :
document.form1.action=niv_etude;


et codes tes caractères accentués en code html &....
0
nuleninformatique
28 juil. 2009 à 18:58
ca marche, GENIAL!!!!! grand merci, vraiment !!
0
Bonjour,

je deja esseyer une redirection avec plusieurs valeurs dans un formulaire mais j'arrive pas
ex: categorie / payes / ville pour aller sur une page html avec un formulair plus complet qui se trouve dans repertoire : categorie/payes/ville/formulaire.html

merci en avance

Configuration: Windows Vista Internet Explorer 8.0
0
Debutant > Debutant
27 oct. 2009 à 10:05
<html>
<head>
<script type="text/javascript">
function redirection(id_lire){
	var categorie=document.getElementById(id_lire).value;
	var pays=document.getElementById(id_lire).value;
	var villes=document.getElementById(id_lire).value;
	document.form1.action=categories+pays+villes;
}
</script>
</head>
<form name="form1" method="POST" action="" onSubmit="redirection('categories+pays+villes');">
	<select name="categories" id="categories">
		<option value="categorie01">01</option>
		<option value="categorie02">02</option>
		<option value="categorie03">03</option>
	</select>
	<select name="pays" id="pays">
		<option value="pay01">pay 01</option>
		<option value="pay02">pay 02</option>
		<option value="pay03">pay 03</option>
	</select>
	<select name="villes" id="villes">
		<option value="ville01">ville 01</option>
		<option value="ville02">ville 02</option>
		<option value="ville03">ville 03</option>
	</select>
	<input type="submit" name="envoyer" value="Envoyer">
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
27 oct. 2009 à 12:31
<html>
<head>
<script type="text/javascript">
function redirection(id_lire1,id_lire2,id_lire3){
	var categories=document.getElementById(id_lire1).value; //attention si tu mets un s il le faut partout
	var pays=document.getElementById(id_lire2).value;
	var villes=document.getElementById(id_lire3).value;
	document.form1.action='ton_script.php?cat='+categories+'&pays='+pays+'&villes='+villes;
}
</script>
</head>
<form name="form1" method="POST" action="" onSubmit="redirection('categories','pays','villes');">
	<select name="categories" id="categories">
		<option value="categorie01">01</option>
		<option value="categorie02">02</option>
		<option value="categorie03">03</option>
	</select>
	<select name="pays" id="pays">
		<option value="pays01">pays 01</option>
		<option value="pays02">pays 02</option>
		<option value="pays03">pays 03</option>
	</select>
	<select name="villes" id="villes">
		<option value="ville01">ville 01</option>
		<option value="ville02">ville 02</option>
		<option value="ville03">ville 03</option>
	</select>
	<input type="submit" name="envoyer" value="Envoyer">


et dans ton_script.php tu recuperes

$categorie=$_GET['cat'];

etc...
0
Merci beacoup pour ta reponse

Mais en fait, je voulais qu'avec le premier formulaire qui gere 3 parametres (CATEGORIES | PAYS | VILLES ) atteindre le reprtoire du 2e formulaire plus complet.
Donc comment faire pour definir le "chemin", en cliquant sur un bouton, pour arriver dans le formulaire aproprié selon les parametres choisi ?

Exemple: categorie01/payes01/ville01/formulaire01.html a
(Parametres a gerer)

Voici un schema
CATEGORIES | PAYS | VILLES

(repertoires)
-CATEGORIES-01
- - - - repertoir_PAYS-01
- - - - - - - - - - - - -repertoir_VILLES-01
- - - - - - - - - - - - - - - - - - - - - - - formulaire_01.html
- - - - - - - - - - - - - - - - - - - - - - - formulaire_02.html
- - - - - - - - - - - - - - - - - - - - - - - formulaire_03.html

-CATEGORIES-02
-CATEGORIES-03
- - - - repertoir_PAYS-02
- - - - repertoir_PAYS-03
- - - - - - - - - - - - -repertoir_VILLES-02
- - - - - - - - - - - - -repertoir_VILLES-03



Cela peut être fait avec php mais je ne connais pas, je suis pret a payer une remuneration si quelqu'un voudrai bien me la faire.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
27 oct. 2009 à 17:08
<html>
<head>
<script type="text/javascript">
function redirection(id_lire1,id_lire2,id_lire3){
	var categories=document.getElementById(id_lire1).value; //attention si tu mets un s il le faut partout
	var pays=document.getElementById(id_lire2).value;
	var villes=document.getElementById(id_lire3).value;
	document.form1.action=categories+'/'+pays+'/'+villes+'/formulaire_01.html ';
}
</script>
</head>
<form name="form1" method="POST" action="" onSubmit="redirection('categories','pays','villes');">
	<select name="categories" id="categories">
		<option value="categorie01">01</option>
		<option value="categorie02">02</option>
		<option value="categorie03">03</option>
	</select>
	<select name="pays" id="pays">
		<option value="pays01">pays 01</option>
		<option value="pays02">pays 02</option>
		<option value="pays03">pays 03</option>
	</select>
	<select name="villes" id="villes">
		<option value="ville01">ville 01</option>
		<option value="ville02">ville 02</option>
		<option value="ville03">ville 03</option>
	</select>
	<input type="submit" name="envoyer" value="Envoyer">



attention les value= doivent etre identiques aux noms des répertoires (notament la même casse)
0