plusieur formulaire - HTML/CSS - Programmation
Marsh Posté le 02-08-2005 à 08:43:07
Salut,
non. (à part avec du JS, mais ce n'est pas une bonne solution).
Il faut que tu n'utilise qu'un formulaire.
Marsh Posté le 02-08-2005 à 08:51:59
ba j'ai pas le choix car je vois comment faire si je prend pas 2 formulaire
car quand dans le premier formualire on choisis un domaine sa fais apparaitre en dessous le formulaire correspondant a se domaine
Marsh Posté le 02-08-2005 à 08:59:01
Je vois pas le rapport.
Le mieux est peut-être que tu nous file ton code...
Marsh Posté le 02-08-2005 à 09:03:13
<?php
//fichier qui va contenir toute les fonctions
include ('DB.php');
function Interface_principale1(){
//on va demander l'affichage de la l'iterface haut
$HTML.='<div id="recherche" style="visibility:visible;">';
$HTML.=Interface_haut();
//on va afficher l'interface du milieu
$HTML.=Interface_milieu();
$HTML.=Interface_milieu_spe();
//interface du bas
// $HTML.='</div>';
// $HTML.='<div>';
$HTML.='</div>';
//$HTML.=Interface_bas();
echo $HTML;
}
function Interface_haut(){
$html='<table align="center" class="center_haut" cellspacing=\"0\" cellpadding=\"0\" width="800" border="0">';
$html.='<tr><td class="titre_haut" colspan=\"3\">Gestion Documentaire</td></tr>';
$html.='<tr><td class="titremenu_haut"><a class="titremenu" href="index.php">Accueil</a></tD><td class="titremenu_haut"><a class="titremenu" href="index.php?op=administration">Administration</a></td><td class="titremenu_haut"><a class="titremenu" href="index.php?op=aide">Aide</a></td></tr>';
$html.='</table>';
$html.='<br>';
return $html;
}
function Interface_milieu(){
// on va afficher l'interface de recherche
$html='<FORM name="demoform" method="post" action="test.php">';
$html.='<table class="recherche_milieu" width="800" align="center" cellspacing="0" cellpadding="0">';
$html.='<tr><td class="titre_haut2">Recherche</td></tr>';
$html.='<tr><td class="recherche"> Titre : <input type="text" name="titre" size="35"> Domaine : '.Liste_domaine().'</td></tr>';
$html.='<tr><td class="recherche">
Date: <input name="dc" value="" size="20"><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.demoform.dc);return false;" HIDEFOCUS><img name="popcal" align="absmiddle" src="WeekPicker/calbtn.gif" width="34" height="22" border="0" alt=""></a>
<!-- PopCalendar(tag name and id must match) Tags should not be enclosed in tags other than the html body tag. -->
<iframe width=199 height=178 name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="WeekPicker/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;">
</iframe></td></tr>';
//on va afficher les mots cles
$html.='<tr><td class="recherche"> Mot clés:'.Affiche_liaison().'<br><br>'.Affiche_mot_cles().'<br><br></td></tr>';
$html.='<tr><td align="center" class="recherche"><div id="bouton" style="visibility:visible;"><input name="bouton" type="submit" value="Rechercher"></div></tr></tD>';
$html.='</FORM></table><br>';
return $html;
}
function Interface_milieu_spe(){
//fonction qui va permettre d'afficher selon le domaine choisis un questionnaire supplementaire
$html='<DIV id="juridique" style="visibility:hidden;position:fixed;">';
$html.='<FORM name="demoform2" method="post" action="test.php" onsubmit="return valider()" ><table name="juridique" cellspacing="0" align="center" width="800" cellpadding="0" class="recherche_milieu">';
$html.='<tr><td class="recherche"> Nature du texte : '.Nature_texte_juridique().'';
$html.=' </td><td> Numéro du texte : <input type="text" size="20" name="numero_text"></td></tr>';
$html.='<tr><td class="recherche">
Date de publication: <input name="dp" value="" size="20"><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.demoform2.dp);return false;" HIDEFOCUS><img name="popcal" align="absmiddle" src="WeekPicker/calbtn.gif" width="34" height="22" border="0" alt=""></a>
<!-- PopCalendar(tag name and id must match) Tags should not be enclosed in tags other than the html body tag. -->
<iframe width=199 height=178 name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="WeekPicker/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;">
</iframe>';
$html.=' </td><td>
Date de création: <input name="dcp" value="" size="20"><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.demoform2.dcp);return false;" HIDEFOCUS><img name="popcal" align="absmiddle" src="WeekPicker/calbtn.gif" width="34" height="22" border="0" alt=""></a>
<!-- PopCalendar(tag name and id must match) Tags should not be enclosed in tags other than the html body tag. -->
<iframe width=199 height=178 name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="WeekPicker/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;">
</iframe></td></tr>';
$html.='<tr><td align="center" class="recherche" colspan="2"><input type="submit" value="Rechercher"></tr></td>';
$html.='</FORM></table><br>';
$html.='</DIV>';
//deuxieme formulaire
$html.='<DIV id="informatique" style="visibility:hidden;position:absolute;">';
$html.='<FORM name="demoform3"><table name="informatique" cellspacing="0" align="center" width="800" cellpadding="0" class="recherche_milieu">';
$html.='<tr><td class="recherche"> Natures du texte : '.Nature_texte_juridique().'</td></tr>';
$html.='<tr><td class="recherche"> Numéro du texte : <input type="text" size="20" name="numero_text"></td></tr>';
$html.='<tr><td class="recherche">
Date de publication: <input name="dc" value="" size="20"><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.demoform3.dc);return false;" HIDEFOCUS><img name="popcal" align="absmiddle" src="WeekPicker/calbtn.gif" width="34" height="22" border="0" alt=""></a>
<!-- PopCalendar(tag name and id must match) Tags should not be enclosed in tags other than the html body tag. -->
<iframe width=199 height=178 name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="WeekPicker/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;">
</iframe></td></tr>';
$html.='</table><br></FORM>';
$html.='</DIV>';
return $html;
}
function Nature_texte_juridique(){
//on va afficher la contneu de la table j_nature_texte
$requete="select * from j_nature_texte";
$res=mysql_query($requete);
$html='<select name="nature_texte"><option value=""></option>';
while($ligne=mysql_fetch_object($res)){
$html.='<option value='.$ligne->id.'>'.$ligne->nom.'</option>';
}
$html.='</select>';
return $html;
}
function Interface_bas(){
$fin_compte=getmicrotime();
$duree=($fin_compte-$_SESSION['microstart']);
//Recherche effectuée en '.substr($duree,0,5).' sec
//on va afficher dans la bas le temp d'affichage de la page
$html='<DIV id="bas" style="position:;"><table class="affiche_temp" cellspacing="0" width="800" align="center" cellpadding="0">';
$html.='<tr><td align="center" class="temp">Affichage effectuée en '.substr($duree,0,5).' sec</td></tr>';
$html.='</table></DIV>';
return $html;
}
function Liste_domaine(){
//fonction qui va afficher la liste des domaine disponible
$requete="select * from categorie";
$res=mysql_query($requete);
$html= '<select name="domaine" onChange="affiche_spe()"><option value="0"></option>';
while($ligne=mysql_fetch_object($res)){
$html.= '<option value="'.$ligne->nom.'">'.$ligne->nom.'</option>';
}
$html.= '</select>';
return $html;
}
function Affiche_mot_cles(){
//fonction qui va permettre d'afficher les mot cles
//on va boucler 5 fois pour afficher 5 fois la meme liste
$i=0;
$html=" ";
while($i<5){
$requete="select * from cles";
$res=mysql_query($requete);
$html.='<select name="cles'.$i.'" onChange="choix'.$i.'()"><option value="0"></option>';
while($ligne=mysql_fetch_object($res)){
$html.='<option value='.$ligne->id.'>'.$ligne->nom.'</option>';
}
$html.= '</select> ';
$i=$i+1;
}
return $html;
}
function Affiche_liaison(){
//on va afficher le choix entre et ou ou
$html=' ET <input type="checkbox" name="et" onclick="choixcheckbox()"> OU <input type="checkbox" name="ou" onclick="choixcheckbox()">';
return $html;
}
?>
Voila mon code en esperant que vous commprendrais qqch lol
Marsh Posté le 02-08-2005 à 09:06:09
le fichier correspond a mon fichier de fonction si vous avez besoin du fichier index ou de voir se que cela donne je peux le mettre rapidement sur mon site ?
Marsh Posté le 02-08-2005 à 09:09:25
Ouh la... ya du boulot.
Donc ça ne résoudra pas ton problème mais déjà :
- on n'utilise plus de tableaux pour la mise en page (positionnement en CSS). Même chose pour les
- on n'utilise pas l'évènement onchange pour un select : si l'utilisateur désactive (ou n'a pas) javascript il ne peut pas utiliser ton truc.
Après pour ton problème il vaut mieux que tu balance le code HTML généré, on y verra plus clair.
Marsh Posté le 02-08-2005 à 09:14:24
deja c pour une entreprise dc personen ne va desactiver javascript lol dc tant mieux et oui je sais pour les tableau mais bon voila il feront avec pour l'instant
sinon je te donne le code génére
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<link rel="stylesheet" href="ged.css" type="text/css">
<script type="text/javascript" src="ged.js"></script>
<title></title>
</head>
<body>
<div id="recherche" style="visibility:visible;"><table align="center" class="center_haut" cellspacing=\"0\" cellpadding=\"0\" width="800" border="0"><tr><td class="titre_haut" colspan=\"3\">Gestion Documentaire</td></tr><tr><td class="titremenu_haut"><a class="titremenu" href="index.php">Accueil</a></tD><td class="titremenu_haut"><a class="titremenu" href="index.php?op=administration">Administration</a></td><td class="titremenu_haut"><a class="titremenu" href="index.php?op=aide">Aide</a></td></tr></table><br><FORM name="demoform" method="post" action="test.php"><table class="recherche_milieu" width="800" align="center" cellspacing="0" cellpadding="0"><tr><td class="titre_haut2">Recherche</td></tr><tr><td class="recherche"> Titre : <input type="text" name="titre" size="35"> Domaine : <select name="domaine" onChange="affiche_spe()"><option value="0"></option><option value="Informatique">Informatique</option><option value="Juridique">Juridique</option></select></td></tr><tr><td class="recherche">
Date: <input name="dc" value="" size="20"><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.demoform.dc);return false;" HIDEFOCUS><img name="popcal" align="absmiddle" src="WeekPicker/calbtn.gif" width="34" height="22" border="0" alt=""></a>
<!-- PopCalendar(tag name and id must match) Tags should not be enclosed in tags other than the html body tag. -->
<iframe width=199 height=178 name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="WeekPicker/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;">
</iframe></td></tr><tr><td class="recherche"> Mot clés: ET <input type="checkbox" name="et" onclick="choixcheckbox()"> OU <input type="checkbox" name="ou" onclick="choixcheckbox()"><br><br> <select name="cles0" onChange="choix0()"><option value="0"></option><option value=1>installation</option><option value=7>qualité</option><option value=3>préparation</option><option value=6>Prodival</option><option value=5>AS400</option><option value=8>ODBC</option><option value=9>SQL</option></select> <select name="cles1" onChange="choix1()"><option value="0"></option><option value=1>installation</option><option value=7>qualité</option><option value=3>préparation</option><option value=6>Prodival</option><option value=5>AS400</option><option value=8>ODBC</option><option value=9>SQL</option></select> <select name="cles2" onChange="choix2()"><option value="0"></option><option value=1>installation</option><option value=7>qualité</option><option value=3>préparation</option><option value=6>Prodival</option><option value=5>AS400</option><option value=8>ODBC</option><option value=9>SQL</option></select> <select name="cles3" onChange="choix3()"><option value="0"></option><option value=1>installation</option><option value=7>qualité</option><option value=3>préparation</option><option value=6>Prodival</option><option value=5>AS400</option><option value=8>ODBC</option><option value=9>SQL</option></select> <select name="cles4" onChange="choix4()"><option value="0"></option><option value=1>installation</option><option value=7>qualité</option><option value=3>préparation</option><option value=6>Prodival</option><option value=5>AS400</option><option value=8>ODBC</option><option value=9>SQL</option></select> <br><br></td></tr><tr><td align="center" class="recherche"><div id="bouton" style="visibility:visible;"><input name="bouton" type="submit" value="Rechercher"></div></tr></tD></FORM></table><br><DIV id="juridique" style="visibility:hidden;position:fixed;"><FORM name="demoform2" method="post" action="test.php" onsubmit="return valider()" ><table name="juridique" cellspacing="0" align="center" width="800" cellpadding="0" class="recherche_milieu"><tr><td class="recherche"> Nature du texte : <select name="nature_texte"><option value=""></option><option value=1>Loi</option><option value=2>Ordonnance</option></select> </td><td> Numéro du texte : <input type="text" size="20" name="numero_text"></td></tr><tr><td class="recherche">
Date de publication: <input name="dp" value="" size="20"><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.demoform2.dp);return false;" HIDEFOCUS><img name="popcal" align="absmiddle" src="WeekPicker/calbtn.gif" width="34" height="22" border="0" alt=""></a>
<!-- PopCalendar(tag name and id must match) Tags should not be enclosed in tags other than the html body tag. -->
<iframe width=199 height=178 name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="WeekPicker/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;">
</iframe> </td><td>
Date de création: <input name="dcp" value="" size="20"><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.demoform2.dcp);return false;" HIDEFOCUS><img name="popcal" align="absmiddle" src="WeekPicker/calbtn.gif" width="34" height="22" border="0" alt=""></a>
<!-- PopCalendar(tag name and id must match) Tags should not be enclosed in tags other than the html body tag. -->
<iframe width=199 height=178 name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="WeekPicker/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;">
</iframe></td></tr><tr><td align="center" class="recherche" colspan="2"><input type="submit" value="Rechercher"></tr></td></FORM></table><br></DIV><DIV id="informatique" style="visibility:hidden;position:absolute;"><FORM name="demoform3"><table name="informatique" cellspacing="0" align="center" width="800" cellpadding="0" class="recherche_milieu"><tr><td class="recherche"> Natures du texte : <select name="nature_texte"><option value=""></option><option value=1>Loi</option><option value=2>Ordonnance</option></select></td></tr><tr><td class="recherche"> Numéro du texte : <input type="text" size="20" name="numero_text"></td></tr><tr><td class="recherche">
Date de publication: <input name="dc" value="" size="20"><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.demoform3.dc);return false;" HIDEFOCUS><img name="popcal" align="absmiddle" src="WeekPicker/calbtn.gif" width="34" height="22" border="0" alt=""></a>
<!-- PopCalendar(tag name and id must match) Tags should not be enclosed in tags other than the html body tag. -->
<iframe width=199 height=178 name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="WeekPicker/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;">
</iframe></td></tr></table><br></FORM></DIV></div> </body>
</html>
Marsh Posté le 02-08-2005 à 09:20:54
Ouch
Vu le bordel je regarderai si je trouve 5 minutes mais là... pas le temps désolé.
Petite remarque : tu as les balises cpp pour mettre en forme le code que tu colles sur le forum.
Deuxième remarque : tu pourrais faire l'effort d'aérer un peu ton code (indentations, styles dans un fichier à part).
Marsh Posté le 02-08-2005 à 09:24:21
je veux bien mais je dois mettre koi pour rendre mon code plus propre ? le style est deja dans un fichier css a part et le javascript aussi
Marsh Posté le 02-08-2005 à 09:34:26
Je sais pas qui a codé tout ce merdier, mais le fait d'utiliser une variable $HTML pour y coller tout le code HTML c'est nul à chier.
ensuite je ne parle pas du code je m'astiendrai, il vaut mieux.
Pour tes 2 formulaires, ben tu met tout dans un seul formulaire et tu gère l'affichage des éléments que tu mets soit dans un DIV, P ou fieldset que tu affiches ou tu caches par des propriétés de display.
ET fait l'effort de mettre en form ton code histoire qu'on y voit plus clair. Car là, ca donne même pas envie de zyeuter
Marsh Posté le 02-08-2005 à 09:40:01
gatsusat a écrit : le fait d'utiliser une variable $HTML pour y coller tout le code HTML c'est nul à chier. |
why ? à la limite là c'est une question de méthode.
Marsh Posté le 02-08-2005 à 09:41:14
justment j'eesai de le remettre plus clair et je vous remontre
Marsh Posté le 02-08-2005 à 09:45:39
par contre qqn pourrais me dire se que ej dois rajouter dans mon code pour avoir un indentation propre ?
Marsh Posté le 02-08-2005 à 09:51:03
Ben par exemple au lieu de
Code :
|
Tu fais ça :
Code :
|
Ce sera déjà un peu mieux...
Marsh Posté le 02-08-2005 à 10:14:06
Code :
|
voila j'espere que c un peu mieux je vais finir de tous indenter deja merci
Marsh Posté le 02-08-2005 à 10:14:43
et encore, franchement, autant directement passer avec des <? ?> intercalés dans le code HTML, ca le rend plus conviviale et plus lisible.
la methode du $HTML est un peu lourde, meme tres lourde
Marsh Posté le 02-08-2005 à 10:18:54
Oui mais de là à dire que c'est nul à chier... c'est comme pour certains, l'utilisation de templates est une bonne chose, perso je trouve ça lourd et inutile. Après c'est les méthodes de boulot de chacun.
Marsh Posté le 02-08-2005 à 10:21:35
je sais que c lourd mais personnellement je prefere sa me permet de diviser mon code en petite partie .
Donc vous penser que vous aller pouvoir m'aider pour mes pb de formulaires ?
Marsh Posté le 02-08-2005 à 10:24:44
ben tu n'utilise qu'un seul formulaire, c'est tout, jvois pas pourquoi tu persiste à utiliser 2 formulaires alors qu'ils fotn la meme action. C'est juste que tu vas cacher ou afficher des éléments dans le formulaire en plus.
Marsh Posté le 02-08-2005 à 10:32:09
bon c bon sa marche j'ai garder en un formulaire dc merci pour al mise en page du code lol c t tous con mais merci comme meme @ plus pour d'autre pb lol
Marsh Posté le 02-08-2005 à 08:41:36
bonjour
J'ai un pb.
voila j'ai deux formulaire dans ma page et j'aimerais que quand on valide le deuxieme sa prenne aussi en compte le premier .
J'explique .
Dans le premiere formulaire si on clique sur avance sa fais apparaitre un deuxieme formulaire qui differe selon le type d'utilisateur . Donc j'aimerais savoir si il est possible d'envoyer le premier formualire en meme temp que le deuxieme merc i