Comunidad de diseño web y desarrollo en internet online

Problema con urlencode(); PHP + Javascript

Citar            
MensajeEscrito el 21 Ago 2009 07:13 am
Hola!
Tengo 1 problema...
Necesito pasar el valor escrito de un input text a una pagina .php para que realice una funcion...
Tengo el input asi:

Código :

<input name="prueba" id="prueba" onBlur="location.href='ARCHIVO_FUNCION.php?valor='+this.id+'&value='+this.value;" />



Cada vez que salgo de ese campo ha de llamar al ARCHIVO_FUNCION.php...

El problema es que no me envia toda la cadena si pongo uno o varios espacios. Por ej, no envia "Hola soy yo", sino solamente "Hola".
Por eso he probado a usar la funcion de PHP urlencode(), por la que he visto que codifica los valores pasados por URL para que lleguen tanto los espacios en blanco como otros caracteres...

Código :

<input name="prueba" id="prueba" onBlur="location.href='ARCHIVO_FUNCION.php?valor='+this.id+'&value=<?php echo urlencode(?>'+this.value+'<?php )?>';" />




El problema es que no se como implementarla en el onBlur y me da error de sintaxis :(
El valor de this.value es dinamico, por lo que no puedo sustituirlo por "Valor 1" o cualquier otra cosa... siempre ha de coger el this.value....

Alguien puede ayudarme?
Estoy "desesperada", he buscado mucho sin solucion :(

MUCHAS GRACIAS DE ANTEMANO!!

Por ldesign85

2 de clabLevel



 

Spain

firefox
Citar            
MensajeEscrito el 21 Ago 2009 08:55 pm
Por supuesto, porque para cuando el visitante ve la página, urlencode() ya se ejecutó. Por lo que tu código no tiene ningún sentido.

Has pensado que urlencode se iba a ejecutar al mismo tiempo que el visitante pierde el foco del input (que es cuando se dispara el evento onBlur), pues no, porque urlencode, por ser código PHP se ejecuta en el servidor y onBlur se ejecuta en el cliente, y es imposible que el servidor se entere de qué está pasando en el cliente a menos que el cliente le envie un GET o un POST.

Me parece que lo que tienes que hacer acá es implementar algo de AJAX. Te sujiero que consigas un buen manual. AJAX te permite hacer este tipo de cosas (con un poco de imaginación y muchas pruebas y errores xD).

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.