Foros del Web » Programando para Internet » Javascript »

me estoy volviendo locoooo!!!

Estas en el tema de me estoy volviendo locoooo!!! en el foro de Javascript en Foros del Web. Busque, busque y no encontré nada que me ayude. A ver maestro si usted puede con esto: Estoy haciendo un formulario pero dentro del mismo ...
  #1 (permalink)  
Antiguo 28/12/2002, 09:22
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
me estoy volviendo locoooo!!!


Busque, busque y no encontré nada que me ayude.

A ver maestro si usted puede con esto:

Estoy haciendo un formulario pero dentro del mismo tengo que hacer varios submit uno de ellos que es el que quiero hacer ahora es que ejecute dentro del mismo formulario una función de contar caracteres y calcular el tiempo de lectura y me lo devuelva en el <input type="text" name="tiempo" id="tm"> el valor sacado para después ser guardado en la base de datos.
Ademas te cuento que el boton que envia a realizar esta funcion es un navigation bar.

Espero urgente tu ayuda.
Gracias
  #2 (permalink)  
Antiguo 29/12/2002, 00:56
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 22 años, 3 meses
Puntos: 6
hola
puedes explicar un poquitou mejó
saludos
  #3 (permalink)  
Antiguo 29/12/2002, 00:59
Avatar de korev  
Fecha de Ingreso: diciembre-2002
Ubicación: Barcelona
Mensajes: 127
Antigüedad: 21 años, 4 meses
Puntos: 0
¿La pregunta es solamente para Maestro o en general?

Para contar carácteres debería bastarte un len, ¿no?
Luego asignas un tiempo para x número de caracteres y ya.

Pongamos que los datos, a boleo, son estos:
- 10 caracteres (n) -> 1 segundo
- 1000 caracteres (m) -> x segundos

Ahí ya tienes la regla de tres. Te basta con dividir m / n y obtienes la incógnita, que la pasarás a minutos:segundos.
__________________
on error... resume next

Última edición por korev; 29/12/2002 a las 01:02
  #4 (permalink)  
Antiguo 29/12/2002, 05:00
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 2 meses
Puntos: 1
JEJEJE.
Creo qie queria decir "A ver maestroS si usted puede con esto"

Si quieres verifiicar la longitud sin enviar datos al servidor usa funciones javascript.
ASP envia los datos al servidor v los valida alli, por lo que puedes crear una carga innecesaria.
Es mejor validar lo que puedas del lado del cliente.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #5 (permalink)  
Antiguo 29/12/2002, 08:55
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
También podrías hacer algo así:

<%
texto=result("texto")

'si el texto tiene más de 100 caracteres
if Len(texto)>100 then
tiempo="1 minuto"
'tiempo más de 500 caracteres
elseif Len(texto)>500
tiempo="5 minutos"
'tiempo menos de 100 caracteres
elseif Len(texto)<100
tiempo="menos de 1 minuto"
else
tiempo="no se ha podido contar el tiempo"
end if

response.write tiempo%>

Saludos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #6 (permalink)  
Antiguo 29/12/2002, 14:22
Avatar de korev  
Fecha de Ingreso: diciembre-2002
Ubicación: Barcelona
Mensajes: 127
Antigüedad: 21 años, 4 meses
Puntos: 0
... y el usted es usteds, el te tes (se nos acabó el café) y el tu tus ?

Eso tiene toda la pinta de ser un envío de mail con artículo o bien lo mismo vía web, pero de artículos extensos. Probablemente lo haga directamente mediante inserción de formulario vía web y por tanto más que validación es una recogida de datos y a la bd sin más. Estoy de acuerdo en que validar en cliente siempre es mucho mejor, pero aquí creo que da lo mismo.

Chulosoy, ese condicional implica que nunca será 5 minutos porque en ese caso ya sería mayor que 100. Por otro lado da demasiado margen dependiendo de lo que quiera. Si es documentación extensa y presentada con paginación (tipo artículo de seis o siete páginas) pero no siempre igual, el condicional podría ser un pelín largo e hipotético siempre.

Yo lo haría así:

<%

'lee él mismo un párrafo de tres o cuatro líneas escrito en word mismo.
'saca el número de caracteres y cuenta el tiempo de lectura.

dim m 'el len del texto
dim n 'el número de caracteres
dim p 'el número de segundos que tardó en leerlo
dim tiempo 'resultado

contenido=request.form("contenido")

m =len (contenido)
n = (número de caracteres) 'número fijo
p = (segundos lectura) 'número fijo

'se convierte a minutos y segundos. Si tocara hacerlo en horas... casi que pase de contarlo y mande un zip

tiempo =(m*p)/n 'segundos

tiempo = cstr(formatnumber(tiempo / 60,2))

pasado=split(tiempo,",")

if pasado(1)>60 then
pasado(1) = int(pasado(1)-60)
pasado(0) = pasado(0)+1
end if

if pasado(1)<10 then
tiempo=pasado(0)
else
tiempo = join(pasado,":")
end if

Response.Write("Tiempo estimado de lectura: " & tiempo & " minutos")

%>

__________________
on error... resume next

Última edición por korev; 29/12/2002 a las 21:58
  #7 (permalink)  
Antiguo 30/12/2002, 05:39
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Me parece, o no entendieron nada.
Yo no necesito saver como sacar el tiempo de lectura, lo que quiero saver es como hacer para que cuando haga el submit solo ejecute la funcion del tiempo de lectura y ponga el resultado en el <input type="text" name="tiempo">.
El tema no es solo para maestros es para aquellos que sepan como se realiza esto.
Aquellos que se consederan maestros.
Gracias igual.
  #8 (permalink)  
Antiguo 30/12/2002, 05:54
Avatar de korev  
Fecha de Ingreso: diciembre-2002
Ubicación: Barcelona
Mensajes: 127
Antigüedad: 21 años, 4 meses
Puntos: 0
Creo que a partir de ahora esperaré un par de días antes de responder a algún post. ¿Recuerdas aquella frase que rezaba... 'hablando se entiende la gente'?

Claro, quién iba a suponer que programó (o no... ) la función y que lo que no sabía era llamarla

Pues menos mal que el tema era sencillo y no se lió demasiado la cosa.

Al ajo... Otro que no tiene claros los conceptos cliente/servidor...

Vamos a ver, si no quieres recargar la página lo haces en javascript... y eso en el foro de asp no pega mucho.
Si lo que quieres es llamar a esa función en javascript... pues lo haces en javascript y eso en el foro de asp... no pega mucho.

Pues ya sabes, a buscarlo donde toque. Esa pregunta se ha contestado casi tantas veces como el de 'es vital que no copien mis imágenes', así que te vas al buscador y le arreas al botón.

__________________
on error... resume next
  #9 (permalink)  
Antiguo 30/12/2002, 08:21
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 5 meses
Puntos: 0
Cita:
El tema no es solo para maestros es para aquellos que sepan como se realiza esto.
Aquellos que se consederan maestros
o sea que quedamos un monton fuera
  #10 (permalink)  
Antiguo 30/12/2002, 08:24
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
no creo que qeden muchos afuera, porque algunos sabran hacer algunas cosas y otros saven hacer otras.
es por eso que existe el foro para que cada uno ayude con lo que save.

Se entiende?
Espero que si!!!
Gracias
  #11 (permalink)  
Antiguo 30/12/2002, 10:42
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Lo tuyo es CLIENT-SIDE... pasemos a javascript
  #12 (permalink)  
Antiguo 30/12/2002, 11:03
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Aún arriesgando que me acusen de "maestro" me atrevo a intervenir...

Cita:
...lo que quiero saver es como hacer para que cuando haga el submit solo ejecute la funcion del tiempo de lectura y ponga el resultado en el <input type="text" name="tiempo">...
El tag form tiene un evento onsubmit, en el cual puedes colgar lo que desees que se ejecute cuando presiones el botón de Enviar. Si quieres que se ejecute algo en ese momento y después se ejecute el submit, la función debe retornar true. Si por el contrario solo quieres ejecutar unos comandos y no hacer el submit, retorna un falso.

Es mas o menos asi:

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   function 
enviar(){
    
document.frm.texto.value "¡Enviado!";
    return 
true;
   }
  
</script>
 </head>
 <body>
  <form name="frm" onsubmit="enviar()">
     Texto:<input type="text" name="texto"><br>
     <input type="submit" value="Enviar">
  </form>
 </body>
</html> 
No lo he probado, pero supongo que funciona.

Saludos.
  #13 (permalink)  
Antiguo 30/12/2002, 12:21
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 2 meses
Puntos: 1
Noto mucho cachondeo por aqui ultimamente.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #14 (permalink)  
Antiguo 30/12/2002, 22:14
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 22 años, 2 meses
Puntos: 1
en el objeto q quieras para enviar/seleccionar una opcion inserta :

<input . . onclick="document.location='estapagina.asp?opcion= 2'">

y en las misma pagina, estapagina.asp :

Código PHP:
<SCRIPT LANGUAGE=VBSCRIPT>

opcion = <%=Request.QueryString("opcion")%>

Select Case opcion
case 1
'funciones para la opcion 1

case 2
   ContarCaracteres()
   CalcularTiempo()

case 3
   . . .

end select

Sub ContarCaracteres()
   caracteres = len(document.all.eltexto.value)
End Sub

Sub CalculaTiempo()
   tiempo = termino - empezo ' 
pseudo-codigo
   document
.all.tiempo.value tiempo
End Sub

</SCRIPT>
 
Aca te expuse solo un resumen del proceso en gral., no las funciones definitivas, solo hay q completarlas.

salutes !
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 23:01.