Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1597 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Timer + refresh + checkbox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Timer + refresh + checkbox

n°1210019
ZZZzzz
Posté le 28-09-2005 à 16:33:31  profilanswer
 

Bonjour à tous, je débute en javascript :sweat:  
 
je shouaite par le biais d'un checkbox faire que ma page se rafraichisse automatiquement toutes les 5 s.
Le code suivant fonctionne mais comment garder ma checkbox cochée une fois ma page rafraichis et comment pouvoir relancer la fct onclick  :??:  :??:  :??: .
 
Avez vous une idée.
 

Code :
  1. <INPUT TYPE="checkbox"  onclick="Timer()"> Rafraichissement auto (~ 30 s).<BR>
  2. <SCRIPT>
  3. function Timer() {
  4. window.setTimeout("window.location.reload(true)",5000);
  5. }
  6. </SCRIPT>


 
merci d'avance


Message édité par ZZZzzz le 28-09-2005 à 16:57:07
mood
Publicité
Posté le 28-09-2005 à 16:33:31  profilanswer
 

n°1210054
afbilou
pouet your life
Posté le 28-09-2005 à 17:00:03  profilanswer
 

Passe une argument dans l'url (passage d'argument en GET).
 
Il te suffit de verifier la presence de cet argument via PHP ou Javascript pour cocher la case au chargement.
 
Mieux : tu fais un petit formulaire evec une checkbox et un bouton valider avec la page courante comme action du formulaire. Avec PHP tu envoies ensuite le header qui permet de faire une redirection apres un certains temps dans le cas ou les données du formulaire indique que la case avait ete cochée !
Interet ? Tu as un rafraichissement toutes les x secondes sans utilsier de javascript =)

n°1210065
ZZZzzz
Posté le 28-09-2005 à 17:09:02  profilanswer
 

:??:  :??:  olla un petit bout de code serais le bien venu  :)  
 
mais sinon revoilou du code qui montre dans quel direction je veut aller, mais le if péte aparament checkbox n'est pas initialisé ???
 

Code :
  1. <form name="refresh">
  2. <INPUT TYPE="checkbox" onclick="Timer();return true;"> Rafraichissement auto (~ 30 s).<BR>
  3. </form>
  4. <SCRIPT>
  5. <!--
  6. function Timer() {
  7.  if (document.forms["refresh"].checkbox.checked )
  8. {
  9. window.setTimeout("window.location.reload(true)",30000);
  10. }
  11. }
  12. //-->
  13. </SCRIPT>


Message édité par ZZZzzz le 28-09-2005 à 17:10:48
n°1210088
afbilou
pouet your life
Posté le 28-09-2005 à 17:24:06  profilanswer
 

Un genre de truc comme ca :

Code :
  1. <?php
  2. if (isset($_GET['refresh']) && $_GET['refresh']=='oui')
  3.  header("Refresh: 10; URL=http://cette_page.php?refresh=oui" );
  4. ?>
  5. <html>
  6. [...]
  7. <body>
  8. <?php
  9.  if (isset($_GET['refresh']) && $_GET['refresh']=='oui')
  10.  {
  11. ?>
  12. <form action="cette_page.php" method="get">
  13.  <fieldset>
  14.   <legend>Stopper le rafraichissement automatique</legend>
  15.   <input type="submit" name="refresh" value="non" />
  16.  </fieldset>
  17. </form>
  18. <?php
  19.  } else {
  20. ?>
  21. <form action="cette_page.php" method="get">
  22.  <fieldset>
  23.   <legend>Rafraichissement automatique</legend>
  24.   <input type="submit" name="refresh" value="oui" />
  25.  </fieldset>
  26. </form>
  27. <?php
  28.  }
  29. ?>
  30. <p>
  31.  Bla bla bla bla
  32. </p>
  33. </body>


Qui rafraichit toutes les 10s la page.
A adapter a tes besoins EVIDEMMENT pour que ca corresponde a ce que tu souhaites exactement. Ce n'est la qu'une piste !


Message édité par afbilou le 28-09-2005 à 17:29:12
n°1210094
olivthill
Posté le 28-09-2005 à 17:32:24  profilanswer
 

Sans PHP, il est possible de faire :

<html>
<head>
<script language=javascript>
function set_checkbox()
{
   if (location.search.indexOf("?ck=1" ) != -1)
      document.f1.ck.checked=true;
   else
      document.f1.ck.checked=false;
}
</script>
</head>
<body onload="set_checkbox()">
<form name="f1">
<INPUT TYPE="checkbox" name="ck" onclick="Timer()"> Rafraichissement auto (~ 30 s).<BR>  
</form>              
<SCRIPT>  
function Timer()
{  
  if (document.f1.ck.checked == true)
     window.setTimeout("window.location.href=\"refresh1.htm?ck=1\"",2000);  
  else
     window.location.href="refresh1.htm";
}  
</SCRIPT>
</body>
<html>

n°1210096
afbilou
pouet your life
Posté le 28-09-2005 à 17:35:04  profilanswer
 

Beurk :)
Tout mal codé, et si le client n'as pas de Javascript il l'a dans l'os :)

n°1210110
afbilou
pouet your life
Posté le 28-09-2005 à 17:45:31  profilanswer
 

J'explique mon "Beurk ... tout mal codé"
 
1. <script language=javascript>
Il faut mettre <script type="text/javascript">
 
2. document.f1.ck.checked
L'acces a un element du document se fait via son ID et document.getElementById
 
3. onload() dans le body
Idealement il faut separer le code HTML du code javascript
Le onload ne doit donc pas figurer dans le document HTML et encore moins dans le body :)
Il faut prefere faire appel a un script javascript externe.
 
4. Utilisation d'un form
Pourquoi utilises tu un form ? ... C'est typiquement le cas ou ca ne sert a rien et ou ce n'est sémantiquement pas adapté :|
Il suffit de creer un <button></button> dans ton document et de gérer les cliques via un script Javascript externe.
 
5. Encore un script en fin de page.
Si ta page fait 500 lignes ... tu vas devoir chercher LA ligne ou t'as foutu ton pov JS isolé, noyé, esseulé dans ton code HTML :/
D'autant plus que tu ne precises pas le type de script la encore :/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Timer + refresh + checkbox

 

Sujets relatifs
ajouter un timercocher un checkbox pour dégriser un submit en php
Problème d'auto refreshTimer en JS pour menu
[EJB]programmer un timer dans un EJBcheckbox et javascript "checkall"
checkbox avec function mail()Comment utiliser un timer en parallèle?
Tableau de checkboxcheckbox à choix multiples
Plus de sujets relatifs à : Timer + refresh + checkbox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR