Foros del Web » Programando para Internet » Javascript »

href enviar variable

Estas en el tema de href enviar variable en el foro de Javascript en Foros del Web. Como podria poner una variable en un href para enviarlo a una pagina si esa variable está en javascript y el "<a href>" en php??...
  #1 (permalink)  
Antiguo 28/08/2007, 17:21
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 9 meses
Puntos: 1
Pregunta href enviar variable

Como podria poner una variable en un href para enviarlo a una pagina si esa variable está en javascript y el "<a href>" en php??
  #2 (permalink)  
Antiguo 28/08/2007, 17:34
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: href enviar variable

Podes poner algo de código?..

En php, tal vez tendrías que poner $variable = $variable_de_javascript;
Luego en el a href, echo "<a href='index.php?loquequiero=$variable'>enlace</a>";

Algo así debería funcionarte,... o sino, la variable que tenes en javascript mandala por medio de GET así luego con $_GET la recibis y listo...

Pero pon algo de codigo, para ver de que se trata y como podemos hacerlo...

Saludos
  #3 (permalink)  
Antiguo 29/08/2007, 02:55
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: href enviar variable

El script que tiene la variable 'nombre':
Código HTML:
<script language="javascript">

function a(){ 
var nombre = prompt("Introduzca su nombre");
// Pedimos confirmación
if(isNaN(nombre)==true || nombre=="")
{
return false;//si es correcto
}
else{

return true; 
}

}
</script> 
Donde quiero que se coloque la variable:
Código PHP:
<a onclick="return a()" href="listado.php?num=nombre> Inventario</a> 

Ojo es en la misma pagina,asi que el metodo get no serviria ya no?
  #4 (permalink)  
Antiguo 29/08/2007, 05:13
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Re: href enviar variable

Creo que es asi.

Código PHP:
<a onclick="variable=return a();window.location.href='listado.php?num='+variable" href=#> Inventario</a> 

Última edición por chuscazo; 29/08/2007 a las 05:14 Razón: mejorar su legibilidad
  #5 (permalink)  
Antiguo 29/08/2007, 07:56
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: href enviar variable

No funciona eso chuscazo :(
  #6 (permalink)  
Antiguo 29/08/2007, 08:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: href enviar variable

Eso que quieres hacer no se puede hacer con PHP, tienes que hacerlo en javascript y seria algo asi:
Código:
function navegaAPagina( url ) {
      window.location = url;
}

function preguntaNombre() {
var nombre = prompt("Introduzca su nombre");
var url = "pagina_destino.html?nombre=" + nombre;
// Pedimos confirmación
if(isNaN(nombre)==true || nombre=="")
{
      alert("Debe escribir un nombre");
      return false;
}
else{
      navegaAPagina( url );
}
}
y en tu html:
Código HTML:
<a href="javascript: return preguntaNombre();">Click me!</a> 
PD te transfiero al foro de javascript ahi te podran ayudar mas.

Saludos.
  #7 (permalink)  
Antiguo 29/08/2007, 08:24
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: href enviar variable

umm no funciona
  #8 (permalink)  
Antiguo 29/08/2007, 08:53
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: href enviar variable

al pulsar el href no me hace nada
  #9 (permalink)  
Antiguo 30/08/2007, 00:47
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Re: href enviar variable

Prueba con esto. El unico cambio con respecto a mi respuesta es que la funcion a() tiene que devolver la variable nombre. Esta claro.

Código PHP:
<script language="javascript">

function 
a(){ 
var 
nombre prompt("Introduzca su nombre");
// Pedimos confirmación
if(isNaN(nombre)==true || nombre=="")
{
return 
nombre;//si es correcto
}
else{

return 
true
}

}
</script>

<a onclick="Javascript:variable=a();window.location.href='listado.php?num='+variable" href=#> Inventario</a> 
Como bien dicen, esto solo es javascript y no php. Quiza la funcion de GATORV te deberia de funcionar y tiene mas estilo.

Revisando la funcion de GATORV encuentro lo que esta fallando. Es la linea

if(isNaN(nombre)==true || nombre=="")
ya que isNan() devuelve false si no es numero. Si puede que nos explique GATORV que es lo que queria hacer con esa funcion. Con la funcion de GATORV quedaria asi.

Código PHP:
<script language="javascript">
function 
navegaAPaginaurl ) {
      
window.location url;
}

function 
preguntaNombre() {
var 
nombre prompt("Introduzca su nombre");
var 
url "pagina_destino.html?nombre=" nombre;
// Pedimos confirmación
if(nombre=="")
{
      
alert("Debe escribir un nombre");
      return 
false;
}
else{
      
navegaAPaginaurl );
}
}

</script>

<a onclick="Javascript:preguntaNombre(); href=#> Inventario</a> 
He probado las 2 y funcionan.
  #10 (permalink)  
Antiguo 30/08/2007, 04:26
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: href enviar variable

OK,todo bien.Lo que ocurre que yo quiero que me mande la variable si es un numero y si es una letra no. Como lo haria con la funcion isNaN()??
  #11 (permalink)  
Antiguo 30/08/2007, 04:39
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: href enviar variable

Por cierto,con i.explorer no me funciona ninguno. A que es debido?

Gracias
  #12 (permalink)  
Antiguo 30/08/2007, 06:43
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Re: href enviar variable

Hola otra vez.

Pues si la funcion isNaN() es la que te dice si es numero o no. Yo la quite pensando que tu querias un nombre, perdon por o leer bien tu pregunta.

El codigo seria este. Lo he probado en explorer, no se porque no te funcionaria antes. Si puedes y si no te funciona, por favor peganos el error que te devuelve.

Código:
<script language="javascript">
function navegaAPagina( url ) {
      window.location = url;
}

function preguntaNombre() {
var nombre = prompt("Introduzca su nombre");
var url = "pagina_destino.html?nombre=" + nombre;
// Pedimos confirmación
if(isNaN(nombre)==true || nombre=="")
{
      alert("Debe escribir un nombre");
      return false;
}
else{
      navegaAPagina( url );
}
}

</script>

<a onclick="Javascript:variable=preguntaNombre();" href=#> Inventario</a>
Saludos
  #13 (permalink)  
Antiguo 30/08/2007, 07:17
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: href enviar variable

Sigue pasando lo mismo con i.explorer no me va.
Yo pulso el enlace y se supone que me tendria que salir el prompt y en lugar de eso,se abre la pagina pagina_destino y en la url pone:

http://localhost/NoteBookk/pagina_de...ml?nombre=null

Muchas gracias por vuestra ayuda. Saludos
  #14 (permalink)  
Antiguo 01/09/2007, 08:57
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: href enviar variable

He probado muchas cosas y he visto un comportamiento extraño en IE....

Creo que a la conclusión a la que he llegado es que no se puede enviar variables a un destino que no existe (destino.html que no existe).

Me ha funcionado lo siguiente:
Código PHP:
<script type="text/javascript">

function 
irConNombre(enlace) {
    var 
nombre prompt("Introduzca su nombre""");
    
// Pedimos que nombre sea un número
    
if( isNaN(nombre) || (nombre=="") || (nombre==null) ) {
          
alert("Debe escribir un nombre");
    }
    else{
         
location.href enlace.href+"?nombre="+nombre;
    }
}

</script>


<a onclick="irConNombre(this); return false;" href="vacia.html" >envialo</a>. 
Pero siempre y cuando vacia.html exista.


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 13:04.