Problème avec CCS display

Résolu
isold Messages postés 58 Statut Membre -  
isold Messages postés 58 Statut Membre -
Bonjour,

Je souhaite, dans une page, et par un clic sur un bouton, afficher ou non un formulaire pour compléter des informations. tel que ci-dessous :

AVANT CLIC:

Index au compteur à la date du --/--/---- : 1253
[Mettre à jour]
Suite...


APRES CLIC SUR LE BOUTON [Mettre à jour] :

Index au compteur à la date du --/--/---- : 1253
[Mettre à jour]
+----------------------------------+
| Date : [zone input] |
| Index compteur : [zone input] |
| [Valider] |
+----------------------------------+
Suite...


Avec, une fois la validation faite, "refermer" la zone de saisie affichée pour la mise à jour.

Voici mon code qui ne fonctionne pas :

<html>

<head>

<style type="text/css">
.index { display:none; border:1px solid #808080 }
</style>

<script language="javascript" type="text/javascript">
var hide = 1;
function hideshow() {
	if(hide) { hide = 0; document.infos.update.style.display = "block"; }
	else     { hide = 1; document.infos.update.style.display = "none";  }
}
</script>

</head>

<body>

<form name="infos" submit="<?php echo $_SERVER["PHP_SELF"]; ?>">
Bla bla bla...
<?php
$requete = "..."; // ici requete pour aller chercher l'index dans la BDD
echo "Index au compteur à la date du $r->date : $r->index<br/>\n";
?>
<input type="button" name="maj" value="Mettre à jour" onclick="javascript:hideshow();">

<div id="update" class="index">
  Date: <input type="text" name="date"><br/>
  Index compteur: <input type="text" name="index"><br/>
  <input type="submit" name="submit" value="Valider">
</div>
Suite...

</body>

</html>


Quelqu'un aurait-il une idée de l'endroit où ça pêche ?
Merci pour votre aide.

1 réponse

  1. RAD ZONE Messages postés 5362 Statut Contributeur 1 360
     
    Salut

    en me basant sur ton code j aurais fait un truc simple comme ca !

    <!DOCTYPE html>
    <html>
      <head>
        <title></title>
        <meta charset="utf-8">
    <style type="text/css">
    .index {
      border: 1px solid #808080;
    }
    
    #update {
      display: none;
    }
    </style>
    
    <script>
    function hideshow(id) {
      var e = document.getElementById(id);
      if(e.style.display == 'block')
        e.style.display = 'none';
      else
        e.style.display = 'block';
    }
    </script>
    
      </head>
      <body>
        <form name="infos" submit="<?php echo $_SERVER["PHP_SELF"]; ?>">
          Bla bla bla...
          <?php
    $requete = "..."; // ici requete pour aller chercher l'index dans la BDD
    echo "Index au compteur à la date du $r->date : $r->index<br/>\n";
    ?>
    
    <input type="button" name="maj" value="Mettre à jour" onclick="hideshow('update');">
          <div id="update" class="index">
            Date: <input type="text" name="date">
            <br>
            Index compteur: <input type="text" name="index">
            <br>
            <input type="submit" name="submit" value="Valider" onclick="hideshow('update');">
          </div>Suite...
      </body>
    </html>
    
    


    a+
    3
    1. isold Messages postés 58 Statut Membre 5
       
      Merci infiniment, Rad Zone, c'est très exactement ce que je voulais.
      Selon toi, qu'est-ce qui clochait, dans mon code ?
      Je n'arrive pas à voir où se situe l'erreur. Bon, toi tu va chercher l'élément à masquer avec getElementById('..') alors que je préfère nommer complètement cet élément. Mais en dehors de cela (qui devrait donner le même résultat) où est-ce que j'ai fait l'erreur ?
      Excuse moi si je pose la question mais appliquer une procédure sans comprendre où on a fait l'erreur, c'est s'exposer à la refaire et je n'ai pas envie d'être blonde toute ma vie, (mdrrr... car en fait, je suis brune :-)
      Je marquerai le sujet comme "Résolu" après ta réponse.
      Encore une fois, merci ;-)
      0
      1. RAD ZONE Messages postés 5362 Statut Contributeur 1 360 > isold Messages postés 58 Statut Membre
         
        Ta methode ne peux pas fonctioner tout simplement ! ;-)
        les manipulation css par js ce font dans le DOM
        et les fonctions pour accéder aux éléments de la page sont des méthodes de l'objet document.
        https://www.w3schools.com/jsref/dom_obj_document.asp

        Salut bg ;-))
        0
    2. bg62 Messages postés 23522 Date d'inscription   Statut Modérateur Dernière intervention   2 435
       
      lut;)
      hé tu es tombé sur le 'maître' du ... JS ....
      salut RAD ;)
      0
    3. isold Messages postés 58 Statut Membre 5
       
      Et bien en tout cas, un grand merci...
      Pb résolu.
      0