Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/11/2012, 05:52
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Problemas con setTimeout

Cita:
Iniciado por EriBCN Ver Mensaje
Ostras!!!

Pues es verdad.
Pero no entiendo qué tiene que ver que no definas un tipo de submit, ya sea con el action o con el onsubmit, si no estoy usando el objeto de formulario submit.

Sólo utilizo botones del tipo button normal y corriente.

De todos modos, por lo visto, con firefox debe ser así para el correcto funcionamiento de estos componentes, así que tomo nota.

MIL GRACIAS!!!
En FF, tanto un tag <button> como un input type="submit", realizan el envío (submit)
deberías utilizar un <input type="button"...>
Además acostumbrate siempre, aunque sea un ejemplo a declarar todas tus variables con var y definir un doctype
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <script type='text/javascript'>
  6. //<![CDATA[
  7.  var horsum=0;
  8.  var minsum=0;
  9.  var segsum=0;
  10.  
  11.  var horvar=0;
  12.  var minvar=30;
  13.  var segvar=0;
  14.  
  15.  var runvar=1;
  16.  var toVar;
  17.  
  18.      
  19.      
  20.  function cdfunc (hora, minu, segu){
  21.   //alert(segu + minu + hora);
  22.  
  23.   if (runvar==1){
  24.  
  25.    if (segu + minu + hora == 0){
  26.      document.getElementById('cronos').innerHTML=segu;
  27.      horvar=horsum;
  28.      minvar=minsum;
  29.      segvar=segsum;
  30.      alert("Has agotado el tiempo!!");
  31.      document.setime.cdgo.disabled=false;
  32.      document.setime.hor.disabled=false;
  33.      document.setime.min.disabled=false;
  34.      document.setime.seg.disabled=false;
  35.      document.setime.resume.disabled=true;
  36.      document.setime.stopped.disabled=true;
  37.      document.getElementById('crono').style.display='none';
  38.      document.getElementById('datos').style.display='';
  39.    }else{
  40.     //alert(hora + minu + segu);
  41.     if (segu<0){
  42.      minu--;
  43.      segu=59;
  44.      if (minu<0){
  45.       hora--;
  46.       minu=59;
  47.      }
  48.      //alert(hora + minu + segu);
  49.     }
  50.    
  51.     //alert(hora);
  52.    
  53.      document.getElementById('cronoh').innerHTML=hora;
  54.    
  55.     //alert(minu);
  56.      document.getElementById('cronom').innerHTML=minu;
  57.    
  58.     //alert(segu);
  59.      document.getElementById('cronos').innerHTML=segu;
  60.    
  61.     segu--;
  62.     horvar=hora;
  63.     minvar=minu;
  64.     segvar=segu;
  65.     //alert(segu);
  66.    
  67.     toVar = setTimeout('cdfunc(horvar,minvar,segvar)',1000);
  68.    }
  69.   }
  70.  }
  71.  
  72. //]]>
  73. <title>Cronómetro</title>
  74. </head>
  75. <br />
  76. <h1>Cronómetro</h1>
  77. <br />
  78. <br />
  79. <br />
  80. <form name="setime" method="get" action="#" id="setime">
  81. <div id="datos"><select name="hor" onblur="horvar=parseInt(this.value);">
  82. <option value="00">00</option>
  83. <option value="01">01</option>
  84. <option value="02">02</option>
  85. <option value="03">03</option>
  86. <option value="04">04</option>
  87. <option value="05">05</option>
  88. <option value="...">... Hasta 23</option>
  89. </select> <select name="min" onblur="minvar=parseInt(this.value);">
  90. <option value="00">00</option>
  91. <option value="01">01</option>
  92. <option value="02">02</option>
  93. <option value="03">03</option>
  94. <option value="04">04</option>
  95. <option value="05">05</option>
  96. <option value="...">... Hasta 59</option>
  97. </select> <select name="seg" onblur="segvar=parseInt(this.value);">
  98. <option value="00">00</option>
  99. <option value="01">01</option>
  100. <option value="02">02</option>
  101. <option value="03">03</option>
  102. <option value="04">04</option>
  103. <option value="05">05</option>
  104. <option value="...">... Hasta 59</option>
  105. </select> <input type="button" name="cdgo" onclick=
  106. "document.setime.cdgo.disabled=true; document.setime.hor.disabled=true; document.setime.min.disabled=true; document.setime.seg.disabled=true; document.setime.resume.disabled=false; document.setime.stopped.disabled=false; document.getElementById('crono').style.display=''; document.getElementById('datos').style.display='none'; horsum=horvar; minsum=minvar; segsum=segvar; cdfunc(horvar,minvar,segvar);"
  107. value="GO" /></div>
  108. <br />
  109. <br />
  110. <br />
  111. <br />
  112. <br />
  113. <div id="crono">
  114. <p style="width:100%; text-align:center; font-size:48px;"><span id="cronoh">00</span> : <span id="cronom">00</span> : <span id="cronos">00</span></p>
  115. <br />
  116. <br />
  117. <input type="button" name="resume" onclick="runvar=1; cdfunc(horvar,minvar,segvar); document.setime.resume.disabled=true; document.setime.stopped.disabled=false;" value="REANUDAR" /><input type=
  118. "button" name="stopped" onclick="runvar=0; document.setime.stopped.disabled=true; document.setime.resume.disabled=false;" value="PAUSAR" /></div>
  119. </form>
  120. <script type='text/javascript'>
  121. //<![CDATA[
  122.  document.setime.resume.disabled=true;
  123.  document.setime.stopped.disabled=true;
  124.  document.getElementById('crono').style.display='none';
  125. //]]>
  126. </body>
  127. </html>


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.