Foros del Web » Programando para Internet » Javascript »

problema con dos TEXT al querer copiar el contenido de uno en otro.AYUDA URGENTE !!!

Estas en el tema de problema con dos TEXT al querer copiar el contenido de uno en otro.AYUDA URGENTE !!! en el foro de Javascript en Foros del Web. Hola, tengo dos texts y quiero que al escribir en el primero, en el blur me copie su contenido al otro text. El problema es ...
  #1 (permalink)  
Antiguo 07/09/2005, 21:21
 
Fecha de Ingreso: febrero-2005
Mensajes: 35
Antigüedad: 19 años, 2 meses
Puntos: 0
problema con dos TEXT al querer copiar el contenido de uno en otro.AYUDA URGENTE !!!

Hola, tengo dos texts y quiero que al escribir en el primero, en el blur me copie su contenido al otro text.

El problema es que los texts se llaman (name="attribute[0].name" y name="attribute[0].bdName" )

como lo pongo en el javascript ??
lo intento con document.form.attribute[0].bdName.value = "hola"; pero nada, porque la consola JS me dice que "document.form.attribute has no properties" y en el IE veo que pone que "document.form.attribute.0 es nulo o no es un objeto"

Perdonadme pero no tengo ni idea.. pero me urge muchisimo para el proyecto fin de carrera que entrego en 10 dias :(

Muchas gracias y un saludo !!!
  #2 (permalink)  
Antiguo 07/09/2005, 21:58
 
Fecha de Ingreso: febrero-2005
Mensajes: 35
Antigüedad: 19 años, 2 meses
Puntos: 0
Hola otra vez, de momento lo he arreglado de esta forma, pero me da que no es muy buena... :D:D:D

<script language="javascript" type="text/javascript">
function copiaBdName(name){
i = 0;
while (document.extractAttributesForm.elements[i] != name){
i++;
}
document.extractAttributesForm.elements[i+1].value = name.value;

}
</script>

lo que he hecho es, dado el primer TEXT, buscarlo entre todos los elementos del form, y despues de encontrarlo cambiar el siguiente elemento (el segundo TEXT)...

alguna idea ??

Gracias otra vez !!!
  #3 (permalink)  
Antiguo 08/09/2005, 02:11
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
Y así no te serviría?

Código PHP:
<form name="formulario">
<
input type="text" name="attribute[0].name" onblur="this.form['attribute[0].bdName'].value=this.value">
<
input type="text" name="attribute[0].bdName">

</
form
Un saludo y enhorabuena por terminar la carrera
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 08/09/2005, 11:27
 
Fecha de Ingreso: febrero-2005
Mensajes: 35
Antigüedad: 19 años, 2 meses
Puntos: 0
Muchisimas gracias Karlankas, me ha gustado esa idea, pero tengo un problema.

Estos elementos TEXT se generan dentro de un bucle (trabajo con JSP y libreria de tags de Struts), con lo que el codigo es este:

Código PHP:
<html:text name="structureForm" onblur="this.form['attribute['+ ctr +'].bdname'].value=this.value" property='<%= "attributeVO[" + ctr + "].name" %>'  size="10" maxlength="15" styleClass="textweb"/> 

El problema a tu solucion es que no se como generar en javascript el valor de la variable del bucle (ctr), porque si lo pongo de la forma que esta arriba, el html generado es este, y claro, no funciona:

Código HTML:
<input type="text" name="attributeVO[0].name" maxlength="15" size="10" value="" 
onblur="this.form['attribute['+ ctr +'].bdname'].value=this.value" class="textweb"> 
Muchas gracias por tu atencion y un saludo.

PD-> Si tienes alguna idea estaria agradecidísimo de que me ayudaras :).
  #5 (permalink)  
Antiguo 09/09/2005, 03:42
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
Y si pruebas a ponerlo así:

onblur="this.form['attribute['<%= ctr %>'].bdname'].value=this.value"

No conozco JSP (lo siento) aunque parece muy interesante. Lo que pretendo hacer con el código de ahí arriba es que el servidor mande la página ya con el valor de ctr puesto. Con JSP tienes que tratarlo como si fuera texto para que quede de la forma que quieres para que Javascript lo pueda interpretar bien. No sé si me explico.

Un saludo!
__________________
Cómo escribir

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

Última edición por KarlanKas; 09/09/2005 a las 04:29
  #6 (permalink)  
Antiguo 09/09/2005, 20:29
 
Fecha de Ingreso: febrero-2005
Mensajes: 35
Antigüedad: 19 años, 2 meses
Puntos: 0
Muchas gracias Karlankas !!! Lo que me has puesto arriba lo he cambiado un poco y funciona perfectamente !!!!

Esta es la solucion final:

onblur='<%= "this.form[\'attribute[" + ctr +"].bdname\'].value = this.value" %>'

Funciona perfectamente y me olvido de recorrer ese bucle con todos los elementos del formulario.

Pos muchas gracias otra vez ;), eres un crack.

Saludos !!!

PD-> me ha gustao tu blog, escribes muy bien ;)
  #7 (permalink)  
Antiguo 11/09/2005, 02:28
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
Me alegro de que te funcionara! No soy un crack, lo que pasa es que varios pensando piensan más que sólo uno.

Respecto a mi blog... no hace falta que me pelotees porque te haya ayudado aunque...

¡Gracias por el comentario!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #8 (permalink)  
Antiguo 11/09/2005, 14:18
 
Fecha de Ingreso: febrero-2005
Mensajes: 35
Antigüedad: 19 años, 2 meses
Puntos: 0
Cita:
Iniciado por KarlanKas
Me alegro de que te funcionara! No soy un crack, lo que pasa es que varios pensando piensan más que sólo uno.
cierto, tienes toda la razón ;)

Cita:
Iniciado por KarlanKas

Respecto a mi blog... no hace falta que me pelotees porque te haya ayudado aunque...

¡Gracias por el comentario!
jejeje no era peloteo... realmente estuve leyéndolo, aún me eché unas risas.

Saludos !!!
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 19:26.