Peut-on faire 2 actions avec un seul onclick?

Résolu/Fermé
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - 30 janv. 2012 à 14:28
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - 30 janv. 2012 à 16:19
Bonjour,


j'ai un petit souci, je souhaite faire apparaître un li et une image grâce à une fonction onclick mais seule la première fonctionne ; voici le code :

html:

<ul>
........
<li id="déroulant" onclick="openMenu('sousV','imageNousSituer');">V</li>
</ul>
<ul>
<li style="background-color:white;"><a href="NousSituer.php" id="sousV" style="display:none;">
Nous situer</a></li>
<img src="./images_polyservices/15860234.jpg" id="imageNousSituer" style="display:none;">
</ul>

et mon js:
function openMenu(id){
var v = document.getElementById(id);
if(v.style.display == "none"){
v.style.display = "block";
}else{
v.style.display = "none";
}
}

2 réponses

pitxu Messages postés 689 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
30 janv. 2012 à 14:48
Bonjour,

tu passes deux ID dans ton onclick alors que ta fonction n'en interprète qu'un.
Ta fonction devrait être maFonction(id1,id2) ...
2
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
30 janv. 2012 à 15:01
merci je ne connaissais pas bien la façon d'écrire
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
30 janv. 2012 à 14:50
Hello,

Essaye ça:
<html>
<head>
  <title></title>
  <script type="text/javascript">
    function openMenu(id){
      id = id || [];
      for(var i in id){
        var v = document.getElementById(id[i]);
        if(v.style.display == "none"){ 
          v.style.display = "block"; 
        }else{ 
          v.style.display = "none"; 
        } 
      }
      
    } 
  </script>
</head>
<body>
  <ul> 
    <li id="déroulant" onclick="openMenu(['sousV','imageNousSituer']);">V</li> 
  </ul> 
  <ul> 
    <li style="background-color:white;"><a href="NousSituer.php" id="sousV" style="display:none;"> Nous situer</a></li> 
    <img src="./images_polyservices/15860234.jpg" id="imageNousSituer" style="display:none;"> 
  </ul> 
</body>
<script type="text/javascript">
  document.getElementById('deroulant').addEventListener('click', function(e){clickCallback(e);}, false);
</script>
</html>
0
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
30 janv. 2012 à 15:10
function openMenu(id,id1){
var v = document.getElementById(id);
var v1 = document.getElementById(id1);
if(v.style.display == "none") && (v1.style.display == "none"){
v.style.display="block" && v1.style.display= "block";
}else{
v.style.display = "none" && v1.style.display = "none";
}
}

qu'est-ce qui n'est pas correct ?
l'html reste le même :

<ul>
........
<li id="déroulant" onclick="openMenu('sousV','imageNousSituer');">V</li>
</ul>
<ul>
<li style="background-color:white;"><a href="NousSituer.php" id="sousV" style="display:none;">
Nous situer</a></li>
<img src="./images_polyservices/15860234.jpg" id="imageNousSituer" style="display:none;">
</ul>
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 30/01/2012 à 15:51
v.style.display="block" && v1.style.display= "block";

-->
v.style.display="block";  
v1.style.display= "block"; 


Tu as pas le droit de faire un && ici ;)
0
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
30 janv. 2012 à 16:06
même sans pas de changement :


function openMenu(id,id1){
var v = document.getElementById(id);
var v1 = document.getElementById(id1);
if(v.style.display == "none") && (v1.style.display == "none"){
v.style.display="block";
v1.style.display= "block";
}else{
v.style.display = "none";
v1.style.display = "none";
}
}
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
30 janv. 2012 à 16:11
if(v.style.display == "none") && (v1.style.display == "none"){
-->
if((v.style.display == "none") && (v1.style.display == "none")){

Attention aux parenthèses...
0
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
30 janv. 2012 à 16:19
AH OUI exact les parenthèses ... merci
0