Foros del Web » Programando para Internet » Javascript »

por que no me toma valor la variable???

Estas en el tema de por que no me toma valor la variable??? en el foro de Javascript en Foros del Web. Hola buenas, a ver si alguien me puede ayudar, no controlo mucho el tema de javascript y no soy capaz de resolver esto: necesito que ...
  #1 (permalink)  
Antiguo 29/08/2006, 06:26
 
Fecha de Ingreso: agosto-2006
Mensajes: 17
Antigüedad: 17 años, 8 meses
Puntos: 0
Sonrisa por que no me toma valor la variable???

Hola buenas, a ver si alguien me puede ayudar, no controlo mucho el tema de javascript y no soy capaz de resolver esto: necesito que al hacer click en un determinado enlace, ejecutar una funcion que me va a retornar un numero, pues no soy capaz de recoger ese valor, el codigo qeu uso es el siguiente:


el javascript muy sencillo que luego tendria que complicar:
<SCRIPT>
function respuesta()
{
return 1;
};
</SCRIPT>


y luego el enlace usando el evento OnClick seria algo como:

<a onClick="<?$ac?>=respuesta()"; href="pregunta.php?aciertos=<?="$ac"?>" <?="$resp[1]"?></a>
aciertos:<?="$ac"?>

No se si me he explicado bien, necesito enviar el valor que me retorna esa funcion pero la variable $ac nunca recoge el valor 1 que deberia retornar la funcion.
Si alguien me pudiera echar una mano estaria....MUY AGRADECIDA!!!
  #2 (permalink)  
Antiguo 29/08/2006, 06: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
El problema está en que el código PHP se ejecuta en el servidor y el código javascript se ejecuta en el ordenador del visitante. Al poner <a onClick="<?$ac?>=respuesta()"; lo que verá javascript es: <a onclick="4=respuesta()";

debes usar variables javascript. Prueba a poner algo así:

<a onclick="location.href=' pregunta.php?ac='+respuesta();return false" href="#">Pepe</a>

Cuando llegue el valor ac a la página pregunta.php podrás manejar la variable $ac con el contenido de respuesta();

No sé si me he explicado.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 29/08/2006, 08:45
 
Fecha de Ingreso: agosto-2006
Mensajes: 17
Antigüedad: 17 años, 8 meses
Puntos: 0
Gracias Karlankas

Gracias Karlankas, es verdad no me daba cuenta que el codigo javascript la gracia uqe tiene es que se ejecuta en el cliente, ya te digo que no controlo mucho por no decirte nada de javascript, he cambiado lo que me has dicho poniendo el resto de elementos que tengo que enviar a la pagina preguntas.php pero al hacer click al enlace que me deberia mandar a la otra pagina...NO ME HACE NADA...
Bueno voy a seguir dandole alguna vuelta si no paso de usar el javascript y lo mando todo mediante el POST
Gracias de todas maneras
  #4 (permalink)  
Antiguo 29/08/2006, 19:21
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
mira, no le encuentro mucho sentido que quieras llamar a la funcion cada vez que le hagan click al enlace, si siempre va a ser de esa forma lo mejor es que pases la variable directamente, puedes intentarlo de esta forma:

<a href="pregunta.php?aciertos=1"> <?="$resp[1]"?></a>

ahora que si no quieres que vean esto "aciertos=1" cada vez que se posicionan sobre el enlace,puedes intentarlo así:

<a href="pregunta.php" target="_balnk" onClick="window.open(this.href+'?aciertos=1', this.target, 'width=300,height=400'); return false;> <?="$resp[1]"?></a>

ó así:

<a href="pregunta.php" target="popup" onClick="window.open(this.href+'?aciertos=1', this.target, 'width=300,height=400')>

espero y te sirva.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Última edición por eits; 30/08/2006 a las 11:03
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 05:55.