Foros del Web » Programando para Internet » Javascript »

Mitad asp, mitad javascript

Estas en el tema de Mitad asp, mitad javascript en el foro de Javascript en Foros del Web. Hola amigos: Tengo el siguiente problema en una pagina de asp. He creado una funcion en javascript para que, segun escribo en una caja de ...
  #1 (permalink)  
Antiguo 20/06/2005, 03:11
 
Fecha de Ingreso: junio-2005
Mensajes: 4
Antigüedad: 18 años, 10 meses
Puntos: 0
Mitad asp, mitad javascript

Hola amigos:
Tengo el siguiente problema en una pagina de asp.

He creado una funcion en javascript para que, segun escribo en una caja de texto, en otra me aparezca un marcador indicandome cuantas letras me faltan para terminar de llenar esa caja.

Este es el codigo de la pagina:

<html>
<head>
</head>
<body>
<script language="JavaScript">
function contarletras1()
{
document.crear.contador1.value=17-(document.titulo1.value.length+1);
setTimeout("contarletras1();",200);
}
</script>
<form name="crear" method="post" action="pagina2.asp">
Contador 1<input name="contador1" type="text" size="2" readonly><br>
Titulo 1<input name="titulo1" type="text" size="56" class="estilin" maxlength="17" onKeyPress="contarletras1()">
</form>
</body>
</html>

Bien, esto funciona, pero lo que yo quiero es poder pasar a la funcion 3 parametros para que me valga para mas cajas de texto y mas marcadores que voy a poner en una pagina, es decir, por cada caja de texto nueva, un nuevo marcador.
Entonces, la llamada a la funcion seria algo asi:

onKeyPress="contarletras1(contador1,titulo1,17)"

y la funcion asi:
<script language="JavaScript">
function contarletras1(a,b,c)
{
var a,b,c;

document.crear.a.value=c-(document.crear.b.value.length+1);
setTimeout("contarletras1(a,b,c);",200);
}
</script>

Cuando encuentra document.crear.a, la funcion casca, ya que no reconoce "a" como un objeto. De esta forma no puedo utilizar una unica funcion para toda mi pagina y tengo que crear tantas funciones como marcadores vaya a tener. Eso me parece un poco chapucero.
Mi pregunta es ¿Hay alguna forma de poder pasar el valor por parametros de un text de un formulario, y que lo recoja la funcion, lo transforme y lo escriba en un text concreto?

Muchas gracias a todos de antemano y espero vuestra ayuda.

Última edición por betisimo; 20/06/2005 a las 04:11
  #2 (permalink)  
Antiguo 20/06/2005, 06:25
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
y ahí dónde está la mitad de asp?
  #3 (permalink)  
Antiguo 20/06/2005, 11:38
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
movido desde asp
__________________
...___...
  #4 (permalink)  
Antiguo 20/06/2005, 11:50
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
En Javascript los valores de los formularios se manejan en arrays que se pueden manejar así:

Código PHP:
document['name_del_formulario']['name_del_input']; 
así si el formulario es:

Código PHP:
<form name="pepe" action="vamos_alla.asp">
<
input type="text" name="juan">
<
input type="text" name="jaime">
<
input type="text" name="jorge">
<
input type="submit" name="godofredo">
</
form
podemos referirnos al value del segundo campo del formulario así:

Código PHP:
document['pepe']['jorge'].value
o así:
Código PHP:
document[0][1].value// Es decir el segundo valor del primer formulario de la página (recuerda que javascript comienza a contar por el cero). 
O una combinación de los dos.

Esto te lo digo de forma informativa porque de la forma que tienes configurado tu script no funcionará en Mozilla y Firefox te pondrá problemas.

Tu fallo es que a la hora de llamar a la función no pones comillas en los nombres de los campos. Ponlo así:

Código PHP:
onKeyPress="contarletras1('contador1','titulo1',17)"
Y te recomiendo que uses esta sintaxis:

Código PHP:
 document['crear'][a].value=c-(document['crear'][b].value.length+1); 
Observa que no ponemos comillas ni a a ni a b porque son variables, pero sí a 'contador1' y a 'titulo1' porque son valores de esas variables.

Espero haberte respndido!
__________________
Cómo escribir

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

Última edición por KarlanKas; 20/06/2005 a las 12:34
  #5 (permalink)  
Antiguo 20/06/2005, 17:28
 
Fecha de Ingreso: junio-2005
Mensajes: 4
Antigüedad: 18 años, 10 meses
Puntos: 0
Sonrisa Gracias

Muchas gracias, KarlanKas. Me ha sido de mucha ayuda.
Saludos.
  #6 (permalink)  
Antiguo 21/06/2005, 00:51
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
De nada! Me alegro mucho de haberte resultado útil :).
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 04:13.