commande getElementById

commande getElementById - HTML/CSS - Programmation

Marsh Posté le 20-08-2006 à 14:08:33    

Je voudrais lors de l'impression de ma page php effacer une ligne entière. J'ai regardé sur internet, et apparement je peux utiliser la commande getElementById mais je n'arrive pas à l'écrire. J'ai toujours l'erreur "document.go.ligne a la valeur Null ou n'est pas un objet".  
Quelqu'un peux-t'il m'aider à l'écrire ?
 
Voici mon code
 
Ma ligne que je veux effacer :

Code :
  1. <form name="go" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" >
  2.   <table width="100%" border="0" cellpadding="10" class="gc_style_tab">
  3.   <tr id="cache">
  4.     <td colspan="3">
  5.          <?php
  6. $listCaisse = getListeCaisse();
  7. $listCaisse->enableAutoSubmit();
  8. $listCaisse->selList($sel);
  9. $listCaisse->getListHTML();
  10.          ?>
  11.     </td>
  12.     <td>ou entre le </td>
  13.     <td width="100"><input size="15" type="text" value="<?php echo $_POST['begin'];?>" name='begin' id='begin' onKeyUp="slashes('begin')" maxlength="10"></td>
  14.     <td width='30'>et le</td>
  15.     <td width="100"><input size="15" type="text" value="<?php echo $_POST['end'];?>" name='end' id='end' onKeyUp="slashes('end')" maxlength="10"></td>
  16.     <td><input type="submit" value="Valider" name='valid' class="bouton"></td>
  17.     <td align="right"><input type="submit" value="Fermer" name='close' class="bouton"></td>
  18. </tr>
  19. </table>
  20. </form>


 
Ma fonction javascript print_doc()
 

Code :
  1. function print_doc()
  2. {
  3. var ligne=document.getElementById['cache'];
  4. document.go.ligne[0].style.display='none';
  5. print();
  6. document.go.ligne[0].style.display='block';
  7. }


 
Merci

Reply

Marsh Posté le 20-08-2006 à 14:08:33   

Reply

Marsh Posté le 20-08-2006 à 14:14:05    

le Code HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML  
pas le code php, comme ça on a une vision globale de ton truc :o
ensuite la reponse :  

Code :
  1. function print_doc()  {
  2.     var ligne=document.getElementById['cache'];
  3.     ligne.style.display='none';
  4.     window.print();
  5.      ligne.style.display='block';
  6.     }


Message édité par gatsu35 le 20-08-2006 à 14:14:18
Reply

Marsh Posté le 20-08-2006 à 14:28:41    

désolée pour le code php  :(  
 
Bon j'ai essayé mais ça ne marche pas, j'ai le message : 'style' a la valeur Null ou n'est pas un objet
 
J'ai essayé de mettre un style sur ma ligne mais pareil

Reply

Marsh Posté le 20-08-2006 à 14:32:50    

nan mais je suis par reveillé  
c'est pas des crochets mais des parenthese pour appeler une methode

Code :
  1. function print_doc()  {
  2.        var ligne=document.getElementById('cache');
  3.        ligne.style.display='none';
  4.        window.print();
  5.        with (ligne.style) {
  6.              try {display="table-row";}
  7.              catch {display="block"}
  8.        }


 
Le try, catch, c'est pour les différences entre les navigateurs.
sous IE, un TR par défaut est en display:block
sous FF Et autres vrais navigateurs, le tr est display:table-row
donc quand tu réaffiche ton TR il faut lui donner le bon display


Message édité par gatsu35 le 20-08-2006 à 14:36:31
Reply

Marsh Posté le 20-08-2006 à 14:46:22    

super ça marche merci  merci beaucoup de m'aider un dimanche après-midi :)

Reply

Marsh Posté le 20-08-2006 à 15:05:01    

CSS media print [:petrus75]
C'est autrement plus efficace, simple et fonctionnel que cette horreur en javascript :o
http://openweb.eu.org/articles/css_impression/

Message cité 1 fois
Message édité par afbilou le 20-08-2006 à 15:07:14
Reply

Marsh Posté le 20-08-2006 à 15:13:04    

afbilou a écrit :

CSS media print [:petrus75]
C'est autrement plus efficace, simple et fonctionnel que cette horreur en javascript :o
http://openweb.eu.org/articles/css_impression/


+1
mais bon j'avais la fleme de lui spécifier
 
sinon pour apporter plus de précisions :  
dans ta feuille de style tu fais :  
 

Code :
  1. @media print {
  2.   #cache {display:none}
  3. }


le mieux étant d'avoir une classe sur les éléments que tu veux dégager

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed