Foros del Web » Programando para Internet » Javascript »

Problemas al pasar a Timestamp

Estas en el tema de Problemas al pasar a Timestamp en el foro de Javascript en Foros del Web. Estaba intentando hacer una función que me devolviera el tiempo en formato timestamp para que al pasarlo a un script en PHP sea más fácil ...
  #1 (permalink)  
Antiguo 03/08/2004, 14:16
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 5 meses
Puntos: 5
Problemas al pasar a Timestamp

Estaba intentando hacer una función que me devolviera el tiempo en formato timestamp para que al pasarlo a un script en PHP sea más fácil de evaluarlo,pero no hay forma de que me muestre el resultado al dividir x 1000 y aplicarle un round. He probado a hacer un parseInt pero tampoco.

Código PHP:
<script language="JavaScript"

var 
tiempo  = new Date();
var 
timest  tiempo.getTime();
var 
ntimest parseInt(timest);
var 
nume    math.round(ntimest/1000);
document.write(nume);

</script> 
Supongo que alguna burrada estoy haciendo porque no sé mucho de Javascript
  #2 (permalink)  
Antiguo 03/08/2004, 14:23
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Si cambias la m de Math de minúsculas a mayusculas ya lo tienes!

var nume = Math.round(ntimest/1000);

Como ves era una chorrada!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 03/08/2004, 14:47
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 5 meses
Puntos: 5
Muchísimas gracias, estaba ya que no entendía :S

Lo que yo quisiera es calcular cuanto tiempo tardo el usuario en enviar el formulario desde que se cargo la página. Supongo que se tratará de registrar en una variable la fecha en timestamp al onload del body y al onclick del submit registrar otra para hacer la resta. Y pense hacerlo en javascript porque a veces tarda en cargar la página y hacerlo en el servidor con PHP no sería del todo exacto.

Ya veremos qué tal resulta

Gracias (No tengo mucha idea decómo hacerlo pero lo voy a intentar )

Última edición por yoseman; 03/08/2004 a las 14:48
  #4 (permalink)  
Antiguo 03/08/2004, 15:50
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Prueba con esto:

Código HTML:
<html>
<head>
	<title>Untitled</title>
</head>



<script language="JavaScript"> 
var inicio;
var fin;
var nume;
function calcular(){
fin = new Date();
var nume = Math.round((fin-inicio)/1000); 
alert("Has tardado en dar al botón "+nume+" segundos\ndesde que se cargó la página."); 
}
</script>


<body onload="inicio=new Date();">

<input type="submit" onclick="calcular()">



</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 03/08/2004 a las 15:51
  #5 (permalink)  
Antiguo 03/08/2004, 15:56
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Y lo podemos aplicar para lo que quieres con el siguiente código que se da al input oculto el valor de lo que tarda y se envía con el resto del formulario.

Código HTML:
<html>
<head>
	<title>Untitled</title>
</head>



<script language="JavaScript"> 
var inicio;
var fin;
var nume;
function calcular(){
fin = new Date();
var nume = Math.round((fin-inicio)/1000); 
document.forms[0].tiempo.value=nume;
}
</script>


<body onload="inicio=new Date();">
<form action="Untitled1.html" onsubmit="calcular()" name="eee" id="eee">
<input type="hidden" name="tiempo" />
¿Cuantos dedos tiene un ciempies?<br>
<input type="text" name="respuesta" />
<input type="submit" value="Responder!"  />
</form>


</body>
</html> 
Espero que te sirva!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 03/08/2004 a las 16:01
  #6 (permalink)  
Antiguo 03/08/2004, 16:13
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 5 meses
Puntos: 5
Funciona a las mil maravillas , muchísimas gracias
  #7 (permalink)  
Antiguo 03/08/2004, 16:45
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Me alegro de que te vaya

A disfrutar!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 03/08/2004 a las 16:47
  #8 (permalink)  
Antiguo 11/08/2004, 08:56
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 5 meses
Puntos: 5
Me gustaría instalar el script que teneis en las FAQS para que no se permita el envio si no se seleccionaron todos los radios, pero dados mis escasos conocimientos de javascript no sé ni dónde insertar el script, si hacer cómo una función y en tál caso dónde y cómo invocarla, En fin que más que duda ni idea tengo . Y me pasa lo mismo con el de permitir sólo una pulsación del submit. Lo que hice fue poner el código de la FAQ en una función y en el onsubmit de mi form llamaba a esa función(ponía ; para separar la anterior llamada) pero me da error.
Este es el código que saqué de las FAQS
Código PHP:
var el document.(tu formulario).elements
for (var 
el.length ; ++i) { 
    if (
el[i].type == "radio") { 
        var 
radiogroup el[el[i].name]; 
        var 
itemchecked false
        for (var 
radiogroup.length ; ++j) { 
            if (
radiogroup[j].checked) { 
            
itemchecked true
            break; 
            } 
        } 
        if (!
itemchecked) { 
            
i=0
            break; 
        } 
    } 

if (
i>0) { 
    return 
true
} else { 
    
alert("No ha respondido todas las preguntas"); 
    return 
false

Salu2 ;) (esta es la página del for por si sirve de algo http://elotrositio.tuarrobanet.com/a.php )

Última edición por yoseman; 11/08/2004 a las 09:04
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:07.