Aide pour javascript - Page 2

Précédent
  • 1
  • 2
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Pas grave..

Juste avant ton formulaire tu met ca :
if( isset( $_POST['mode'] ) )
 $mode = $_POST['mode'];
else
 $mode = "aucun";

if( isset( $_POST['objet']))
 $objet = $_POST['objet'];
else
 $objet = "aucun";


Ca permet de récupérer les valeur selectionnée quand tu vas appuyer sur le bouton submit de ton formulaire.

Ensuite si qqun peut nous dire quelle propriété des liste déroulante permet de mettre une valeur par défaut ca serati sympa de sa part car je ne connait pas.

merci
++
0
sam3000 Messages postés 1226 Statut Membre 144
 
tu pourra essayer avec "selected" de l'objet "<SELECT>" (et non du OPTION)
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Comme cela Sam ?
<select name="objet" selected=<?php echo $objet; ?>> 

0
lili
 
en tout cas ce code ne fonctionne pas...

Peut etre parcke je crois que la page se reactualise a chaque fois
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
non non, normalement ta page ne dois se réactualiser quand quand tu clique sur le bouton du formulaire : la fonction javascript n'effectue pas de rechargement de la page justement (c'est ca qui est bien).

Si ca ne marche pas, essai ca pour voir :
rajoute apres les "if(isset...." que je t'ai fait mettre :
echo "Valeur de 'mode' = ".$mode."<BR>";
echo "Valeur de 'objet' = ".$objet."<BR>";


Et dit nous ce qu'il te met .
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Alors, testé ? allé manger peut etre... bon... moi j'vais faire apreil alors,

++
0

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

Posez votre question
lili
 
Ben j'ai selectionner table et sequence et ca ma afficher cela:

Valeur de 'mode' = table
Valeur de 'objet' = sequences

Mais je comprend pas parcke ca reviens kan meme a ma valeur par defaut....
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
les deux reviennent a féfault ?
Tu as fait le changement dans les deux SELECT ? pas seulement pour objet, mais aussi pour le mode sinon c'est sur que ca changera rien.
0
lili
 
Il me semble avoir effectuer tous les changements et pourtant ca ne fonctionne toujorus pas...

merci kan meme pour votre aide

si vous avez une autre idée je suis toujorus a l'écoute
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
ok, alors remplace :
<select name="objet" selected=<?php echo $objet; ?>> 

par ca :
<?php
echo "<select name=\"objet\" selected=\"".$objet."\">";
?> 

Pour les deux select et redit ca.

++
0
lili
 
j'ai fait ca:
 sélectionnez ce que vous désirez faire:</font></i></font></div> 
           <?php
	   echo "<select name=\"mode\" selected=\"".$mode."\"  onchange='change_mode()'>";?>  
              <option value="formulaire" selected>Formulaires</option> 
              <option value="table">Tables</option> 
              <option value="requete">Requêtes</option> 
	   </select> 
         <?php
	echo "<select name=\"objet\" selected=\"".$objet."\">";?>    
             <option value="sequences">Nouvelle séquence</option>
              <option value="alignements">Nouvel alignement</option>
              <option value="primers">Nouveau primer</option>
              <option value="resultats_analyses">Nouvelle analyse</option>
              <option value="types_sequences">Nouveau type de sequence</option>
              <option value="types_analyses">Nouveau type d'analyse</option>
	      <option value="individus">Nouvel organisme</option>
	      <option value="tissus">Nouveau tissu</option>
            </select> 


et ca ca ne fonctionne pas.

Mais j'ai quand meme l'impression que mon menu se reactualise a chaque fois parcke j'explique:

quand je selectionne par exemple table et quelque chose au chargement de la page correpsondant le menu disparait et reapparait avec la nouvelle page..

Après peut etre jme trompe..........
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
ben .. si tu le dit c'est que ca se recharge.
Par contre juste un petit truc qui n'a pas grand chose à voir :
<option value="formulaire" selected>Formulaires</option> 

Faut virer le selected apres "formulaire"
0
lili
 
J'a itrouver comment garder la denrière valeur selectionner.

Il suffit de faire ceci:
<select name="mode" onChange="change_mode();">

<option value="formulaire" <?if($mode=="formulaire") echo "selected"; ?> >Formulaires</option>
<option value="table"<?if($mode=="table") echo "selected"; ?>>Tables</option>
<option value="requete" <?if($mode=="requete") echo "selected"; ?>>Requêtes</option>
</select>

Par contre je n'arrive pas a faire pareil pour me soptions, je ne vois pas ou l'inclure dans mon code

Si vous avez une idée.
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Cool ! De la même facon non que tu as fait pour le mode non ?
0
lili
 
Ben le probleme est que si tu regarde mon code tu peux voir que option n'est pas construit pareil.

J'ai les différentes options de formulaire,table et requete dans mon code en javascript

et j'ai seulement les options de formulaire dans ce format:

      
	<select name="objet" >
             <option value="sequences">Nouvelle séquence</option>
              <option value="alignements">Nouvel alignement</option>
...


alors comme je l'ai dit je sais pas ou mettre le truc ki me permettra de rester sur la dernière option
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
??? je vois toujours pas le pb, tu peux remettre tout ton code pour voir l'ensemble.
0
lili
 
Voici mon code

<head>
<script language="Javascript"> 
        function change_mode() 
        { 
         ind = document.menu.mode.selectedIndex; 
         if (document.menu.mode.options[ind].value == 'formulaire') 
         { 
         document.menu.objet.options.length = 0; 
		var o=new Option('Nouvelle séquence','sequences');
		document.menu.objet.options[document.menu.objet.options.length]=o; 
		var o=new Option('Nouvel alignement','alignements');
		document.menu.objet.options[document.menu.objet.options.length]=o;
		var o=new Option('Nouveau type de sequence', 'types_sequences');
		document.menu.objet.options[document.menu.objet.options.length]=o; 
		var o=new Option('Nouveau primer','primers');
		document.menu.objet.options[document.menu.objet.options.length]=o; 
		var o=new Option('Nouvelle analyse','resultats_analyses');
		document.menu.objet.options[document.menu.objet.options.length]=o; 
		var o=new Option('Nouveau type d\'analyse','types_analyses');
		document.menu.objet.options[document.menu.objet.options.length]=o;
		var o=new Option('Nouvel organisme','individus');
		document.menu.objet.options[document.menu.objet.options.length]=o;
		var o=new Option('Nouveau tissu','tissus');
		document.menu.objet.options[document.menu.objet.options.length]=o;
		document.menu.action.value = "ajouter";
	
         } 
         if (document.menu.mode.options[ind].value == 'table') 
         {
          document.menu.objet.options.length = 0; 
          var o=new Option('Les séquences','sequences'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('Les alignements','alignements'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('Les résultats d alignements','resultats_alignements'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('Les differents types de sequences','types_sequences'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('Les primers','primers'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('Les résultats d analyses','resultats_analyses'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('Les differents types d analyses','types_analyses'); 
	    document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('Les organismes repertoriés','individus'); 
	  document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('Les differents tissus de prélèvement','tissus'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          document.menu.action.value = "visualiser"; 
         } 
         if (document.menu.mode.options[ind].value == 'requete') 
         { 
          document.menu.objet.options.length = 0; 
          var o=new Option('Analyses faites pour un gène donné','ana_gene'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('Analyses faites pour un type d analyse donné','pri_type'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('analyses faites pour un primer donné','ana_pri'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('analyses faites pour une personne donnée','ana_per'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('analyses faites en fonction d une technique donnée','ana_tech'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          var o=new Option('Primers utilisés en fonction d une analyse donnée','pri_ana'); 
          document.menu.objet.options[document.menu.objet.options.length]=o; 
          document.menu.action.value = "rechercher"; 
         } 
         return; 
        } 

</script>
</head> 
 
     <hr> 
            <form method="post" objet="<? echo $PHP_SELF; ?>" name="menu" enctype=multipart/form-data> 
            <div align="center"><font size="2"><i><font size="2"><b>Menu déroulant</b></font><b><font size="2">::</font></b><font size="2"> 
            sélectionnez ce que vous désirez faire:</font></i></font></div> 
          
	    <select name="mode" onChange="change_mode();"> 
             
	      <option value="formulaire" <?if($mode=="formulaire") echo "selected"; ?> >Formulaires</option> 
              <option value="table"<?if($mode=="table") echo "selected"; ?>>Tables</option> 
              <option value="requete" <?if($mode=="requete") echo "selected"; ?>>Requêtes</option> 
	   </select> 
             
	<select name="objet" >
             <option value="sequences">Nouvelle séquence</option>
              <option value="alignements">Nouvel alignement</option>
              <option value="primers">Nouveau primer</option>
              <option value="resultats_analyses">Nouvelle analyse</option>
              <option value="types_sequences">Nouveau type de sequence</option>
              <option value="types_analyses">Nouveau type d'analyse</option>
	      <option value="individus">Nouvel organisme</option>
	      <option value="tissus">Nouveau tissu</option>
            </select> 
            <INPUT type="hidden" name ="action" value="ajouter"> 
            <INPUT type="hidden" name="num_enr" value=""> 
            <input type="submit" name="Submit" value="OK"> 
            </form> 
    <hr>
</div> 


Si tu trouve jt'en serai très reconnaissant
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Tu as bien gardé les :
if(isset($_POST['mode']))
  $mode = $_POST['mode']
else $mode = "";

if(isset($_POST['objet']))
  $objet = $_POST['objet'];
else $objet = "";

<hr> 
            <form method="post" objet="<? echo $PHP_SELF; ?>" name="menu" enctype=multipart/form-data> 
            <div align="center"><font size="2"><i><font size="2"><b>Menu déroulant</b></font><b><font size="2">::</font></b><font size="2"> 
            sélectionnez ce que vous désirez faire:</font></i></font></div> 
          
	    <select name="mode" onChange="change_mode();"> 
             
	      <option value="formulaire" <?if($mode=="formulaire") echo "selected"; ?> >Formulaires</option> 
              <option value="table"<?if($mode=="table") echo "selected"; ?>>Tables</option> 
              <option value="requete" <?if($mode=="requete") echo "selected"; ?>>Requêtes</option> 
	   </select> 
             
	<select name="objet" >
             <option value="sequences" <?if($objet=="sequences") echo "selected"; ?>>Nouvelle séquence</option>
              <option value="alignements" <?if($objet=="alignements") echo "selected"; ?> >Nouvel alignement</option>
              <option value="primers" <?if($objet=="primers") echo "selected"; ?> >Nouveau primer</option>
              <option value="resultats_analyses"<?if($objet=="resultats_analyses") echo "selected"; ?>>Nouvelle analyse</option>
              <option value="types_sequences"<?if($objet=="types_sequences") echo "selected"; ?>>Nouveau type de sequence</option>
              <option value="types_analyses"<?if($objet=="types_analyses") echo "selected"; ?>>Nouveau type d'analyse</option>
	      <option value="individus"<?if($objet=="individus") echo "selected"; ?>>Nouvel organisme</option>
	      <option value="tissus"<?if($objet=="tissus") echo "selected"; ?>>Nouveau tissu</option>
            </select> 
            <INPUT type="hidden" name ="action" value="ajouter"> 
            <INPUT type="hidden" name="num_enr" value=""> 
            <input type="submit" name="Submit" value="OK"> 
            </form> 
    <hr>



Voilà, ca devrait aller ca non ?
0
lili
 
Non j'ai enlever le code avec le sif isset car ca marche sans et que sinon ca me faisait planter autre chose.

Par contre maintenant ce fonctionne pour les options mais seulement pour les options du formulaire.

Pas pour table et requete.....
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
oui.. je vois pourquoi ca va pas. Tu n'a pas forcément les mêmes "sous menus" d'un mode à l'autre.
Ce qu'il faudrait faire, ce n'est pas modifié la valeur 'selected' dans la partie php, mais plutot dans la fonction JS, en passant la valeur de l'objet choisi à la fonction (this.value), puis en accedant à la propriété 'selected' depuis la fonction JS comme ca par exemple :
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
non en fait j'ai rien dit, oublie !
Il faudrait plutot construire la seconde partie de ton formulaire en fonction de la selection du mode puisque tu n'a pas forcément les même proposition pour un mode et pour un autre. (je ne me trompe pas ? sinon c'est pas la peine de le faire)
0
lili
 
Jnon tu te trompe pas

mais peut tu etre un peu plus precis please
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Un truc comme ca :
<?php

if(isset($_POST['mode']))
  $mode = $_POST['mode']
else $mode = "";

if(isset($_POST['objet']))
  $objet = $_POST['objet'];
else $objet = "";

?>

<hr> 
            <form method="post" objet="<? echo $PHP_SELF; ?>" name="menu" enctype=multipart/form-data> 
            <div align="center"><font size="2"><i><font size="2"><b>Menu déroulant</b></font><b><font size="2">::</font></b><font size="2"> 
            sélectionnez ce que vous désirez faire:</font></i></font></div> 
          
	    <select name="mode" onChange="change_mode();"> 
             
	      <option value="formulaire" <?if($mode=="formulaire") echo "selected"; ?> >Formulaires</option> 
              <option value="table"<?if($mode=="table") echo "selected"; ?>>Tables</option> 
              <option value="requete" <?if($mode=="requete") echo "selected"; ?>>Requêtes</option> 
	   </select> 
      
<?php

 if($mode=="table")
    include "table_objet.php";
 else if(mode=="requete")
    include "requete_objet.php";
 else
    include "formulaire_objet.php";
?>


Selon le mode semectionné tu appelle telle ou telle script qui écrit la fin de formulaire coorespondante :

formulaire_objet.php :
	<select name="objet" >
             <option value="sequences" <?if($objet=="sequences") echo "selected"; ?>>Nouvelle séquence</option>
              <option value="alignements" <?if($objet=="alignements") echo "selected"; ?> >Nouvel alignement</option>
              <option value="primers" <?if($objet=="primers") echo "selected"; ?> >Nouveau primer</option>
              <option value="resultats_analyses"<?if($objet=="resultats_analyses") echo "selected"; ?>>Nouvelle analyse</option>
              <option value="types_sequences"<?if($objet=="types_sequences") echo "selected"; ?>>Nouveau type de sequence</option>
              <option value="types_analyses"<?if($objet=="types_analyses") echo "selected"; ?>>Nouveau type d'analyse</option>
	      <option value="individus"<?if($objet=="individus") echo "selected"; ?>>Nouvel organisme</option>
	      <option value="tissus"<?if($objet=="tissus") echo "selected"; ?>>Nouveau tissu</option>
            </select> 
            <INPUT type="hidden" name ="action" value="ajouter"> 
            <INPUT type="hidden" name="num_enr" value=""> 
            <input type="submit" name="Submit" value="OK"> 
            </form> 
<hr>


table_objet.php :
	<select name="objet" >
             <option value="sequences" <?if($objet=="sequences") echo "selected"; ?>>Nouvelle séquence</option>
              <option value="alignements" <?if($objet=="alignements") echo "selected"; ?> >Nouvel alignement</option>
              <option value="Les résultats d alignements" <?if($objet=="resultats_alignements") echo "selected";?> >resultats_alignements </option>
              <option value="primers" <?if($objet=="primers") echo "selected"; ?> >Nouveau primer</option>
              <option value="resultats_analyses"<?if($objet=="resultats_analyses") echo "selected"; ?>>Nouvelle analyse</option>
              <option value="types_sequences"<?if($objet=="types_sequences") echo "selected"; ?>>Nouveau type de sequence</option>
              <option value="types_analyses"<?if($objet=="types_analyses") echo "selected"; ?>>Nouveau type d'analyse</option>
	      <option value="individus"<?if($objet=="individus") echo "selected"; ?>>Nouvel organisme</option>
	      <option value="tissus"<?if($objet=="tissus") echo "selected"; ?>>Nouveau tissu</option>
            </select> 
            <INPUT type="hidden" name ="action" value="ajouter"> 
            <INPUT type="hidden" name="num_enr" value=""> 
            <input type="submit" name="Submit" value="OK"> 
            </form> 
<hr>



et requete_objet.php :
	<select name="objet" >
             <option value="ana_gene" <?if($objet=="ana_gene") echo "selected"; ?>>Analyses faites pour un gène donné</option>
              <option value="pri_type" <?if($objet=="pri_type") echo "selected"; ?> >Analyses faites pour un type d analyse donné</option>
              <option value="ana_pri" <?if($objet=="ana_pri") echo "selected";?> >analyses faites pour un primer donné </option>
              <option value="ana_per" <?if($objet=="ana_per") echo "selected"; ?> >analyses faites pour une personne donnée</option>
              <option value="ana_tech"<?if($objet=="ana_tech") echo "selected"; ?>>analyses faites en fonction d une technique donnée</option>
              <option value="pri_ana"<?if($objet=="pri_ana") echo "selected"; ?>>Primers utilisés en fonction d une analyse donnée</option>
            </select> 
            <INPUT type="hidden" name ="action" value="ajouter"> 
            <INPUT type="hidden" name="num_enr" value=""> 
            <input type="submit" name="Submit" value="OK"> 
            </form> 
<hr>


Voilà, dit moi si tu pige pas un truc
0
lili
 
Yaurai pas un moyen pour que tout le code reste sur une page??
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Bine sur que si mais ca revient exactement au même de toute facon, suffit de mettre le code des fichier la ou il y a les include, c'est tout.

dit moi ce que ca fait quand ta finie les modifs

++
0
lili
 
Ca marche!!!!!!!!!!!!!!!!!!!!!!!!

TROP COOOOOLLLLLL

merci pour ton aide

++
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
rhaaaa ! enfin ca marche ! 58 post pour y arrivé !

(n'oublie pas de cocher le post comme résolu)

:)
++
0
sam3000 Messages postés 1226 Statut Membre 144
 
bo travail kij, félicitations lili
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
C'était pourtant pas bien compliqué, mais le plus dur c'est souvent de comprendre le probleme et ensuite de se comprendre tout le long...

Bon sur ce bon week end Sam

++
0
Précédent
  • 1
  • 2