Fonction javasprit incomprise

Fermé
isis59 - 20 mai 2009 à 16:13
 isis59 - 28 mai 2009 à 23:14
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.

18 réponses

jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 185
20 mai 2009 à 16:21
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
cette fonction est appelé lors de la selection d'un choix dans une liste déroulante
0
up svp
0
personne n'a d'idée svp
0

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

Posez votre question
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 5358 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 901
26 mai 2009 à 09:35
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
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
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 5358 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 901
26 mai 2009 à 16:13
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
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 5358 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 901
26 mai 2009 à 16:53
quand ta page se charge, tu as une liste vide ?
0
Alain_42 Messages postés 5358 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 901
26 mai 2009 à 16:55
Comment est appelée ta page ?

par un lien ?

un lien qui est du genre
.........?mod=....
0
oui la liste est vide, et non pas de valeur pour mod
0
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 5358 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 901
28 mai 2009 à 13:29
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
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 5358 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 901
28 mai 2009 à 21:25
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
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