El Guru Programador
Usuario DESCONOCIDO | Registrate Gratis | Usuarios Registrados
Foro de JavaScript
Foros del Guru > JavaScript
Usuario tomar datos con <a href>
mestre
2 Mensaje(s)
Enviado - 7/7/2003
 
Es la primera vez que entro al foro y necesitaria ayuda con los siguientes problemas
1) tengo una rutina en js de este tipo
for (dato=1;dato<=10;dato++) {
document.write("<a href='javascript:funcdato()'>"+dato+"</a><br>")
}
el problema es: como se cual es el valor sobre el cual se pincho (que valor toma el link). Para tomarlo en la funcion - funcdato().

2) la segunda duda es: cuando instancio un objeto con otro objeto propio.
por ej.:
var fechauno=new Date()
var fechados=fechauno
si modifico la segunda fecha por ej.:
fechados.setMonth(1)
porque se me modifica la primera ????
Es porque la asignacion de objetos es por referencia??

Gracias por cualquier solucion.
 
fate
30 Mensaje(s)
Enviado - 8/7/2003
 
1) Tienes que pasarle un valor (en este caso i) a tu funcion funcdato() para que la funcion sepa en que opcion se dio click. Yo lo pondria:

function funcdato(opcion){
//aqui va el codigo de tu funcion
}
.
.
for (dato=1;dato<=10;dato++) {
document.write("<a href='#' on MouseUp=\"funcdato(i);\">"+dato+"</a><br>")
}

2) En OOP (programacion orientada a objetos) no puedes crear una instancia de un objeto poniendolo detras de un simbolode igual. Al hacer esto estas creando una referencia en lugar de una instancia. La forma correcta de hacer esto es:

var fechauno=new Date();
var fechados=new fechauno;

Saludos!
Fate
 
mestre
2 Mensaje(s)
Enviado - 11/7/2003
 
antes que nada gracias por responder, a la primera duda tambien la pude resolver con:
document.write("<a href='javascript:funcdato("+variable+")'>"+dato+"</a><br>")
teniendo cuidado con las comillas simples y dobles.
Con el tema de instanciacion me da error de tipo "El objeto no acepta esta accion" cuando la codifico:
var fechauno=new Date();
var fechados=new fechauno;
Saludos. Eduardo.



 
rubengt
6 Mensaje(s)
Enviado - 12/7/2003
 
¿Has probado?:

var fechauno=new Date();
var fechados=new Date();

fechados=fechauno;

fechados.setMonth(1)
 
Desconocido
Enviado - 19/9/2003
 
No intentes lo que te dice Rubén,

var fechauno=new Date();
var fechados=new Date();
fechados=fechauno;

La linea 1 crea un objeto fecha.
La linea 2 crea otro objeto fecha
La linea 3 destruye el segundo objeto fecha y hace que las dos variables apunten al primer objeto.
A partir de aquí la modificación de fechados afectará también a fechauno y viceversa, porque ambas variables son el mismo objeto.
 
Desconocido
Enviado - 19/9/2003
 
Puedes duplicar el objeto fecha haciendo:
var a=new Date();
var b=new Date();
b.setFullYear(a.getFullYear(),a.getMonth(),a.getDate());

Ahora sí tenemos dos objetos diferentes.
Saludos.
 
 

 

Contactos myStudio Network