Pbm liste déroulante avec onchange js

Signaler
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008
-
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008
-
Bonjour voila j'ai un petit souci à résoudre.
J'ai une page style_fin.php dans laquell j'ai déclaré cela:

<script type="text/javascript" src="javascript/prototype.js"></script>
<script type="text/javascript" src="javascript/scriptaculous.js?load=effects.js"></script>
<script type="text/javascript" src="javascript/personnel.js"></script>
<script language="JavaScript" type="text/JavaScript">

dans cette page j'ai inclus plusieurs pages géré par un menu flash ainsi qu'avec de l'ajax de sorte de ne chager qu'une partie de page dans laquelle j'inclu toutes mes pages... erf on me suit?
ces pages sont dans un dissoer contenu, et ma page avec ma liste deroulante se situe dans contenu/son/home_cinema.php.
Commd c'est une page inclus dans style_fin.php, normalement elle peut recuperer les fonction js déclaré dans le head de style_fin.php.
J'espère qu'on me suit tjs.... donc je travail sur home_cinema.phpet c'est la que sa se complique, j'ai une liste glissante et selon le produit selectionné apparait dans une div plus bas le produit avec son descriptif déclaré dans une table. Voici mon code sur home_cinema.php:

S&eacute;lectionnez le produit:

<form name="f">
<select name="liste2" onChange="personnel(\''.$nomgamme.'\',\''.$nomprod.'\',\''.$type.'\',\''.$descriptif.'\',\''.$prix.'',\''.$lien.'\')">
<?php
   
    $resultat=mysql_query("SELECT * from BOSE ORDER BY Identifiant_produit");
     while ($donnees = mysql_fetch_array($resultat) )
            {
            $id=addslashes($donnees['Identifant_produit']);
            $nomgamme=addslashes($donnees['Nom_gamme']);
            $nomprod=addslashes($donnees['Nom_produit']);
            $type=addslashes($donnees['Type_produit']);
            $descriptif=addslashes($donnees['Descriptif']);
            $prix=addslashes($donnees['Prix']);
            $lien=addslashes($donnees['lien_image']);
?>   
<option value="<?php $donnees['Identifant_produit']; ?>"><?php echo $donnees['Nom_produit']; ?></option>
<?php
}
?>
</select>
</form>

<?php
    $resultat=mysql_query("SELECT * from BOSE WHERE Identifiant_produit='1'");
     while ($donnees = mysql_fetch_array($resultat) )
            {
            $id='1';
            $nomgamme=addslashes($donnees['Nom_gamme']);
            $nomprod=addslashes($donnees['Nom_produit']);
            $type=addslashes($donnees['Type_produit']);
            $descriptif=addslashes($donnees['Descriptif']);
            $prix=addslashes($donnees['Prix']);
            $lien=addslashes($donnees['lien_image']);
            echo $id;
            echo $nomprod;
                     echo'
                    <script type="text/javascript">
                    personnel(\''.$nomgamme.'\',\''.$nomprod.'\',\''.$type.'\',\''.$descriptif.'\',\''.$prix.'\',\''.$lien.'\');
                    //-->
                    <!--</script>
                    ';
            echo('me voila apres persnnel');
                    }
                    mysql_close();
?>

<!--fin menu2-->

<!-- fin menu1-->

Voici mon code dans personnel.js:

function GetId(id)
                {
                return document.getElementById(id);
                }
       
        function disparaitre(div){
        new Effect.Fade(div, {duration:1, fps:25, from:1.0, to:0.0});
        }
       
        function apparaitre(div){
        new Effect.Appear(div, {duration:1, fps:25, from:0.0, to:1.0});
        }
       
        function retour(nombre){
        disparaitre("diapo");
        setTimeout("apparaitre("page");",1250);
        }
       
        function miseajour(img,nom,prenom,ad,cp,tel,fax,mail,stat,etabl,lien){
        Element.update("menu2","

<li>"+nom+"</li><li>"+prenom+"</li><li>"+ad+"</li><li>"+cp+"</li><li>"+tel+"</li><li>"+fax+"</li><li>"+mail+"</li><li>"+stat+"</li><li>"+etabl+"</li><li>Voir les publications</li>
");
        }
       
        function personnel(img,nom,prenom,ad,cp,tel,fax,mail,stat,etabl,lien){
        disparaitre("menu2");
        setTimeout("miseajour(""+img+"",""+nom+"",""+prenom+"",""+ad+"",""+cp+"",""+tel+"",""+fax+"",""+mail+"",""+stat+"",""+etabl+"",""+lien+"")",1075);   
        setTimeout("apparaitre("menu2");",1100);
        }

Le problème est que sa bug et que le produit par defaut ne s'affiche même pas.... je doute que l'insertion du jscript doit être foireuse.... si quelqu'un peut m'aider sa serait parfait.... Merci bcp!!!!!!!!!
A voir également:

11 réponses

Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Erf il y a erreur sur personnel.js: voici le code que j'ai:
function GetId(id)
                {
                return document.getElementById(id);
                }
       
        function disparaitre(div){
        new Effect.Fade(div, {duration:1, fps:25, from:1.0, to:0.0});
        }
       
        function apparaitre(div){
        new Effect.Appear(div, {duration:1, fps:25, from:0.0, to:1.0});
        }
       
        function retour(nombre){
        disparaitre("diapo");
        setTimeout("apparaitre("page");",1250);
        }
       
        function miseajour(nomgamme,nomprod,type,descriptif,prix,lien){
        Element.update("menu2","

<li>"+nomprod+"</li><li>"+nomgamme+"</li><li>"+type+"</li><li>"+prix+"</li><li>"+descriptif+"</li>
");
        }
       
        function personnel(nomgamme,nomprod,type,descriptif,prix,lien){
        disparaitre("menu2");
        setTimeout("miseajour(""+nomgamme+"",""+nomprod+"",""+type+"",""+descriptif+"",""+prix+"",""+lien+"")",1075);   
        setTimeout("apparaitre("menu2");",1100);
        }
       
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Erf personne pourrait tenter de me dire ce qui cloche??
je vois pas du tout et si c'est une cote ou une guillemet, je risque vraiment pas de la voir.... help!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
Salut,

Es ce que l'on pourait avoir au moins l'erreur dont tu nous parle ?

a++

Si t'a besoin d'aide, MP !!!
Un forum...
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Erf ah ok, jsuis pas trés clair dur dur , mais merci de t'interesser à mon pbm deja.
Ba le problème c'est que rien ne s'affiche, car par defaut le produit dont l'id=1 devrait 'safficher avec un apparition et lorsque je séléctionne un autre produit dans ma liste déroulante le dernier produit doit disparaitre pour afficher celui correspondant à ma nouvelle demande...et rien ne marche...!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
Ok,

Je crois que je vais laisser le sujet a bultez car je n'ai aucune idée de ton problème, mais je suis sur qu'en creusant on trouverai la solution mais la je n'ai pas le temps, je dois réviser pour le brevet blanc, c'est dans une semaine, encore désolé ...

a++

Si t'a besoin d'aide, MP !!!
Un forum...
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

est ce que ma page home_cinema.php a le lien vers les fichiers .js?
elle est dans le repertoire son lui mm étant dans le repertoire contenu...

et sur le bouton de mon menu flash situé sur la page principal style_fin.php linsertion de ma page se fait grâce a du ajax et a la fonction:
geturl(?contenu/son/home_cinema);

bref on s'écarte mais je voulais savoir si l'accés des fichiers js peut se faire à un degré assez éloigné de style_fin.php...
Mais apres je me dis que c'est un include donc normalement c'est pas sa le pbm... donc sa doit plus etre dû au onchange ou a une mauvaise structure ici:

  echo'
                    <script type="text/javascript">
                    personnel(\''.$nomgamme.'\',\''.$nomprod.'\',\''.$type.'\',\''.$descriptif.'\',\''.$prix.'\',\''.$lien.'\');
                    //-->
                    <!--</script>

voila...help!
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Bultez c'est qui? il peut m'aider?
erf moi je doit valider mon DUT info avec ce site en stage donc bon c'est assez important!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
Ne t'inquiète pas, bultez a toujours les réponses a toute les questions, il ne va pas tarder, je pense ...

a++

Si t'a besoin d'aide, MP !!!
Un forum...
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Bultez est toujours pas par là???
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

J'ai reussi à cibler un peu la ou les erreurs, lorsque je vais directement à la page home_cinema, et que j'affiche osn code source, elle récupère bien les données lors de ma deuxieme requête sql pour identifiant =1 elle affiahce bien personnel('vvfvf,vvsv,vsfvf....')avec les données contenu cependant la premiere requête le onchange ne récupère pas les valeures des variables, est ce que c'est dû au fait que j'effectue ma requete sql juste apres? ou un pbm de cotes ou guillemets?
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Non c'est bon j'ai reglé cela, voila à présent mon code sur hom_cinema.php:

S&eacute;lectionnez le produit:

<form name="f">
<select name="liste2">
<?php
 
 $resultat=mysql_query("SELECT * from BOSE ORDER BY Identifiant_produit");
  while ($donnees = mysql_fetch_array($resultat) )
   {
   $id=addslashes($donnees['Identifant_produit']);
   $nomgamme=addslashes($donnees['Nom_gamme']);
   $nomprod=addslashes($donnees['Nom_produit']);
   $type=addslashes($donnees['Type_produit']);
   $descriptif=addslashes($donnees['Descriptif']);
   $prix=addslashes($donnees['Prix']);
   $lien=addslashes($donnees['lien_image']);
?> 
<option value="<?php $donnees['Identifant_produit']; ?>" <?php echo'
'?>><?php echo $donnees['Nom_produit']; ?></option>
<?php
}
?>
</select>
</form>




<?php
 $resultat=mysql_query("SELECT * from BOSE WHERE Identifiant_produit='1'");
  while ($donnees = mysql_fetch_array($resultat) )
   {
   $id='1';
   $nomgamme=addslashes($donnees['Nom_gamme']);
   $nomprod=addslashes($donnees['Nom_produit']);
   $type=addslashes($donnees['Type_produit']);
   $descriptif=addslashes($donnees['Descriptif']);
   $prix=addslashes($donnees['Prix']);
   $lien=addslashes($donnees['lien_image']);
   echo $id;
   echo $nomprod;
?>
  
  <?php
      echo'
     <script type="text/javascript">
     personnel(\''.$lien.'\',\''.$nomprod.'\',\''.$nomgamme.'\',\''.$type.'\',\''.$prix.'\',\''.$descriptif.'\');
     //-->
     </script>
     ';
     }
     mysql_close();
  ?>



<!--fin menu2-->

<!-- fin menu1-->

Mais toujours pas d'apparition .... l'appel de la js doit peut être bugger???