Hola a todos.
Estoy haciendo un trabajo para mi estudio virtual y me han pedido que utilize un cronometro en html, además que utilize las teclas para remplazar las funciones de los botones como son iniciar, toma de parciales, reiniciar y parar. Hasta el momento esta parte esta al día.
Pero el primer problema que tengo es que solo puedo utilizar las teclas F1, F2...hasta la F12. y me pide que debo hacerlo sea con el teclado alfabetico o númerico y aqui es donde tengo el problema.
El segundo problema que se me presenta es que debo hacer la toma de 10 ó 20 parciales, es decir que debo asignar una tecla a cada campo de texto. Es decir inicio el cronometro y si oprimo la tecla K debe tomar el parcial 1, si oprimo la tecla P tomo el parcial y así sucesivamente. Obviamente que si solucione el primer problema el tercero estará casi que resuleto.
Mi tercer problema es que debo de además hacer lo anterior, hacerlo de una forma abreviada. Debo tomar 10 o 20 parciales pero que quede en un listado o DataGrid como se haria en Visual Basic y aqui si no tengo ni la minima idea.
os dejo el código y muchas gracias por su colaboración de antemano.
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript" type="text/javascript">
//Fin de la funcion de presionar tecla
//Funcion de toma de parcial parar e inicia cronometro
function capturarf2(e){
var code = (e.keyCode ? e.keyCode : e.which);
//Inicializar cronometro con F2
if(code == 113) {
IniciarCrono()
}
//Tomar parcial en el cronometro cn F4
if(code == 115) {
document.crono.parcial.value = document.crono.display.value
document.crono.Parcial1.value = document.crono.display.value
}
//Parar el cronometro con F8
if(code == 119) {
clearTimeout(CronoID)
}
//Reiniciar cronometro con F9
if(code == 120) {
document.crono.display.value = '00:00:0'
document.crono.parcial.value = '00:00:0'
}
}
document.onkeydown=capturarf2;
//Fin de la funcion de presionar tecla
var CronoID = null
var CronoEjecutandose = false
var decimas, segundos, minutos
function DetenerCrono (){
if(CronoEjecutandose)
clearTimeout(CronoID)
CronoEjecutandose = false
}
function InicializarCrono () {
//inicializa contadores globales
decimas = 0
segundos = 0
minutos = 0
//pone a cero los marcadores
document.crono.display.value = '00:00:0'
document.crono.parcial.value = '00:00:0'
}
function MostrarCrono () {
//incrementa el crono
decimas++
if ( decimas > 9 ) {
decimas = 0
segundos++
if ( segundos > 59 ) {
segundos = 0
minutos++
if ( minutos > 99 ) {
alert('Fin de la cuenta')
DetenerCrono()
return true
}
}
}
//configura la salida
var ValorCrono = ""
ValorCrono = (minutos < 10) ? "0" + minutos : minutos
ValorCrono += (segundos < 10) ? ":0" + segundos : ":" + segundos
ValorCrono += ":" + decimas
document.crono.display.value = ValorCrono
CronoID = setTimeout("MostrarCrono()", 100)
CronoEjecutandose = true
return true
}
function IniciarCrono () {
DetenerCrono()
InicializarCrono()
MostrarCrono()
}
function ObtenerParcial() {
//obtiene cuenta parcial
document.crono.parcial.value = document.crono.display.value
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CRONOMETRO</title>
<style type="text/css">
<!--
.Estilo1 {
color: #FF0000;
font-weight: bold;
}
-->
</style>
</head>
<body>
<p align="center"><strong>CRONOMETRO</strong>
<!-- Para visualizar el cronómetro -->
</p>
<div class="recuadro3">
<form action="" name="crono">
<p align="center">
<label>
<input name="display" type="text" id="display" value="00:00:0" />
</label>
</p>
<p align="center">
<input name="parcial" type="text" value="00:00:0" size="8" />
</p>
<p align="center">
<input name="Parcial1" type="text" id="Parcial1" value="00:00:0" size="8" />
</p>
<p align="center">
<label></label>
</p>
<p align="center"> </p>
<p align="center">
<input type="button" name="Iniciar" value=" Iniciar F2" onclick="IniciarCrono()" />
<input type="button" name="Parcial" value="Parcial F4" onclick="ObtenerParcial()" />
<input type="button" name="Parar" value=" Parar F8" onClick="DetenerCrono()">
<input type="button" name="Cero" value=" Cero F9" onClick="DetenerCrono(); InicializarCrono()">
</p>
<p align="center"> </p>
</form>
</div>
<p> </p>
</body>
</html>