Formulario en Flash
3 seguidores
Buenas tardes,
estoy haciendo un formulario en FLASH que envia un mensaje al correo electronico a travéz de PHP.
Lo podéis ver en la siguiente pagina:
http://www.eribertocaria.com/lasierra/es/contacto.html
Me gustaria conseguir que a la hora de pinchar en cada casilla, desapareciera el contenido de la casilla y el usuario pueda escribir lo que le interesa.
Otra cosa que ocurre es q el mensaje q llega al correo electronico aparece con caracteres "raros", o sea q caracteres como la ñ, caracteres acentados ecc no salen como deberian.
Os dejo un enlace desde donde se pueden descargar todos los archivos:
http://www.eribertocaria.com/lasierra/archivos.zip
Un saludo
Gracias
tpmmds
Hola:
Para borrar el contenido del campo de introducción de texto utiliza el evento "onSetFocus:
campoTexto.onSetFocus = function (oldFocus) (
campoTexto.text = "";
)
He escrito paréntesis en lugar de corchetes, me da error al escribir corchetes, cámbialo y sustituye "campoTexto" por los nombre que hayas dado a tus campos de introducción de texto.
En AS2, cuando aparecían caracteres raros al leer/recibir xml/html, generalmente se corregía escribiendo:
System.useCodepage = true
Otra cosa que suele dar problemas: asegurate que el archivo php esté en UTF-8. Dreamweaver, el bloc de notas de Windows permiten guardar archivos de texto en UTF-8
Un saludo.
tpmmds
Hola:
Imagino que el cliente lo ha pedido así, pero esa forma de contactar con la empresa va a disuadir a más de un@. ¿Por qué, simplemente no ponéis un "Contacte con nosotros" con un mailto y que el cliente rellene sus datos en "su" programa de correo? Viendo el php parece que no tenéis pensado almacenar la información, pero un posible cliente tendrá serias dudas sobre si vais a guardar o no sus datos, cuando todo esto parece innecesario.
Un saludo.
eribertocaria
Muchas gracias.
He conseguido borrar el contenido del campo. Pero sigo con dudas.
1) me gustaria q si no relleno un campo, cuando salgo de el salga otra vez el contenido inicial;
2) siguen saliendo los caracteres "raro"; la verdad q no se donde poner el codigo "System.useCodepage = true" y no he encontrado nada q me diga si el archivo (supongo el php) esta en UTF-8;
3) me gustaria demás q dentro del formulario usara la tecla TAB, el orden q siga fuera el logico; o sea si se pueda cambiar el orden q Flash empone;
4) el correo llega como SPAM, eso se puede solucionar?
tpmmds
BuenAS:
La línea de código:
System.useCodepage = true
puedes ponerla en cualquier parte del código de tu Fla, siempre que se lea antes de llamar al php. No es necesaria una ubicación especial.
Si quieres pasar de un campo de texto a otro con tab, podrias utilizar el componente textArea en lugar de textos dinámicos, con FocusManager. Puedes asignarle un tabindex a cada campo con el orden que quieres que se siga al pulsar la tecla tab.
Para recordar el texto, create una variable, asigna el texto que tiene el campo cuando se selecciona, y si el usuario lo deja en blanco, asigna el valor de dicha variable al campo de texto.
Me da la sensación de que trabajas en Mac, y no conozco mucho el tema. Imagino que debe haber editores que te digan el formato de codificación de caracteres del texto que estás editando. En Windows incluso el Bloc de notas te permite cambiar la codificación de los caracteres de texto, y por supuesto, programas como Dreamweaver. Si no tienes ningún editor que lo haga escribe con el editor de script de Flash y después lo guardas como php (posiblemente, si no has cambiado nada, tengas la codificación correcta UTF-8, y no sea esta la razón :-))
Un saludo
eribertocaria
Perdona pero como se hgace esto???
"Para recordar el texto, create una variable, asigna el texto que tiene el campo cuando se selecciona, y si el usuario lo deja en blanco, asigna el valor de dicha variable al campo de texto."
Como le digo que si se deja en blanco le asigno una variable???
Gracias
elSuricatoRojo
Yo no utilizaría el "System.useCodepage=true". Si miras en la documentación pone esto:
- Cuando la propiedad se establece con el valor false, Flash Player interpreta los archivos de texto externos como Unicode. (Estos archivos deben codificarse como Unicode al guardarlos.)
- Si la propiedad se establece con el valor true, Flash Player interpretará los archivos de texto externos empleando la página de códigos tradicional del sistema operativo en el que se ejecuta el reproductor.
Por lo tanto si lo pasas a true estás renunciando a trabajar en UNICODE y la U de unicode viene de "Universal" y basicamente se trata de una norma para permitir representar "todos" los carateres de todos los idiomas/alfabetos. Mi recomendación es trabajar con UNICODE siempre.
Y mas peligroso en mi opinión: estás asuminendo que los ordenadores que van a ajecutar tu aplicación tienen cargados los códigos de caracter del castellano. Vamos que lo mismo funciona mayoritariamente en España pero no en otros paises no hispanohablantes.
Por lo tanto yo te recomiendo NO meter el "System.useCodepage=true" y por tanto seguir trabajando bajo UNICODE. Si ves que se corrompen los caracteres probalemente sea porque la programación en php no esté interpretando lo que le llaga como UNICODE. Puedes hacer que si lo haga mediante "utf8_encode" (creo, no soy programador de php).
Por lo tanto y en resumen. Cuando aparecen simbolos raros ya sea al pasar cadenas de flash a php o al contranrio suele ser porque no están sicronizados en el sentido que uno lo manda en utf8 y el otro lo interpreta en iso/ansi. De lo que se trata es de sincronizarlos: los 2 trabajan en utf8 o los 2 trabajan en iso, y dado que UNICODE (utf8) es universal es mejor sincronizarlos en utf8.
La opinión de Colin Moock en el mismo sentido en:
http://www.moock.org/asdg/technotes/againstUseCodePage/