Fonction javasprit incomprise

isis59 -  
 isis59 -
salut a tous,

voila je suis en stage pour mon bts info afin de finir de creer un site commencé par un ingénieur, je connais html/css/php, mais quand j'ai parcours les pages, je suis tombé sur un fonction javascript qui ne fonctionne pas, langage que je ne connais pas du tout d'ailleurs, et je voulais savoir si quelqu'un pouvait m'aider a la comprendre et peut etre meme à faire la meme chose en php.

voici le javascript
<script type="text/javascript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>



Merci d'avance.
A voir également:

18 réponses

jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Ca te change le contenu de l'attribut location de ton élément targ passé en paramètre
en y mettant la valeurde l'index sélectionné dans l'élément select selObj passé aussi en paramètre

restore permet de modifier l'index sélectionné de ton select si restore est vrai (c'est à dire différent de 0, null ou undefined)

je sais pas si j'ai été très clair, mais il faudrait savoir quand cette fonction est appelée pour savoir ce qui est passé exactement en paramètres ^^
0
isis59
 
cette fonction est appelé lors de la selection d'un choix dans une liste déroulante
0
isis59
 
up svp
0
isis59
 
personne n'a d'idée svp
0

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

Posez votre question
isis59
 
le pire c'est que la page n'affiche rien, et je ne sais pas si ça vient de cette fonction. :(
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Comment veux tu que l'on t'aide comme ça il nous faudrait au moins la partie de la page qui appelle cette fonction
0
isis59
 
désolé je ne savais pas. voila le code :

<form name="id_categorie" id="form"><td colspan="3" align="left" bgcolor="#CCCCCC">
      <select name="jumpMenu" id="jumpMenu" onChange="MM_jumpMenu('parent',this,0)"<?php
	  if (isset($_GET['mod'])){
		print 'disabled';
	  }
	  ?>>
    <?php
	if (isset($_GET['mod'])){
		$SQL = "SELECT `nom_categorie` FROM `categorie_diplome` WHERE `id_categorie`=(SELECT `id_categorie` FROM `diplome` WHERE `id_diplome`=".$Resultat['id_diplome']." LIMIT 1 ) LIMIT 1 ";
		//$SQL = "SELECT `id_categorie` FROM `diplome` WHERE `id_diplome`=".$Resultat['id_diplome']." LIMIT 1 ";
		$res = mysql_fetch_assoc(SQLSelect($SQL));
		print '<option>'.$res['nom_categorie'].'</option>';
		echo "dans if ligne 85";
	}else{
		print '<option value="index.php?dossier=ExperienceFormation&page=Milo_Formation';
			echo "dans else ligne 92";
			if (isset($_GET['a']))
			echo "dans if ligne 93";
				print '&a=ajt';
		print '"></option>';
		
	    $SQL = "SELECT * FROM `categorie_diplome` ORDER BY `nom_categorie` ASC";
		$Result = SQLSelect($SQL);
		echo $SQL;
		while ($row = mysql_fetch_assoc($Result)){
			print '<option value="index.php?dossier=ExperienceFormation&page=Milo_Formation';
			
			if (isset($_GET['a']))
				print '&a=ajt';
			print '&cat='.$row['id_categorie'].'" ';
			
			if ((isset($_POST['id_categorie']) && $_POST['id_categorie'] == $row['id_categorie']) || (isset($_GET['cat']) && $_GET['cat']==$row['id_categorie']))
			print "selected='selected'";
			
			print '>'.$row['nom_categorie'].'</option>';
		}
	}
	?></select>
0
isis59
 
et cette page m'amenne sur une page vide, ou il y a une liste déroulante, elle aussi, vide
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Oui effectivement j'ai essayé ce code en ôtant la partie qui travaille avec la base, ta page affiche une liste vide dès le départ (je pense que c'est aussi le cas chez toi ?)
Rien à voir avec la fonction Javascript puisque celle ci n'est appelée que quand on chage le choix dans la liste déroulante

beaucoup de chose bizarres:

if (isset($_GET['mod'])){
$SQL = "SELECT `nom_categorie` FROM `categorie_diplome` WHERE `id_categorie`=(SELECT `id_categorie` FROM `diplome` WHERE `id_diplome`=".$Resultat['id_diplome']." LIMIT 1 ) LIMIT 1 ";
//$SQL = "SELECT `id_categorie` FROM `diplome` WHERE `id_diplome`=".$Resultat['id_diplome']." LIMIT 1 ";
$res = mysql_fetch_assoc(SQLSelect($SQL));
print '<option>'.$res['nom_categorie'].'</option>';
echo "dans if ligne 85";
}else{
print '<option value="index.php?dossier=ExperienceFormation&page=Milo_Formation';
echo "dans else ligne 92";
if (isset($_GET['a']))
echo "dans if ligne 93";
print '&a=ajt';
print '"></option>';


pour que qq chose s'affiche dans une liste il faut qu'elle soit de la forme:

<select name="nom_liste" >
<option value="valeur1">Ligne1</option>
<option value="valeur2">Ligne2</option>
<option value="valeur3">Ligne3</option>
etc..

</select>

hors dans ton code ce n'est pas le cas
0
isis59
 
ok, désolé c'est le code d'un projet d'un ingénieur qui était la avant moi, et + j'avance dans le projet, + je rencontre d'erreurs -_-'

et si je fait comme tu as dit, c'est à dire faire une requete dont les valeurs sont récupérées pour aller dans la liste, la fonction va fonctionner tu pense ou je vois ajouter quelque chose? car je ne vois pas d'où viennent les eléments que cette fonction javascript récupère
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
quand ta page se charge, tu as une liste vide ?
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Comment est appelée ta page ?

par un lien ?

un lien qui est du genre
.........?mod=....
0
isis59
 
oui la liste est vide, et non pas de valeur pour mod
0
isis59
 
si tu veux laisser tomber, il n'y a pas de probleme. Le mec fait appela des tables qui n'existent meme pas, et qui ne correspondraient a rien, et il n'en parle meme pas dans son dossier de conception donc jevais refaire tout la page, ce sera plus siple je pense.

Mais si tu es archarné, et que t veux comprendre d'où vient cette erreur, je ssuis toujours la pour repondre a tes questions.
Sur ce, bonne journée et merci d'avoir essayé de m'aider.

Isis59
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Diifcile de reprendre le code après qq un

a un endroit je vois:

$Result = SQLSelect($SQL);

ça veut dire que pour construire la liste il interroge la BDD enfaisnat appel à une fonction php : SQLSelect()

est ce que tu vois qq part dans la page :
function SQLSelect(....){



}

ou alors est ce que cette fonction est dans un fichier externe ?

auquel cas tu doit avoir un include('fonctions.inc.php') ou qq chose dans ce genre la dans ta page

il y a peut être aussi des pb de code de connexion à la BDD
0
isis59
 
oui difficle ! surtout qu'il a fait des copier-coller des toutes les pages pour la partie visiteurs et cellle des adherents donc ya des pb de droits d'acces souvent mais là ce n'en est pas un. Et pour revenir a la fonction sqlselect() je l'utilise lors de chaque requete, elle fonctionne normalement.
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Pour voir si ta requette fonctionne normalement rajoutes ça avant <form..

<?php
$SQL = "SELECT * FROM `categorie_diplome` ORDER BY `nom_categorie` ASC";
$Result = SQLSelect($SQL);
echo "Nbr resultats trouves: ".mysql_num_rows($Result);
while ($row = mysql_fetch_assoc($Result)){
	echo $row['nom_categorie']."<br />";

}
?>
<form name="id_categorie" id="form"><td colspan="3" align="left" bgcolor="#CCCCCC">
etc.....


et donnes le résultat
0
isis59
 
a meme pas besoin comme je t'ai dit au dessus, il fait des requetes sur des tables qui n'existent pas. aucune table categorie n'existe lol
0