Html incrustado en variables desde flash

Tengo una web hecha en flash y usé el mismo código que con todas mis páginas para hacer un formulario.
En particular en este las variables las manda con código html incrustado.
En lugar de que la variable nombre se envíe como "Nombre" manda algo así
<TEXTFORMAT LEADING=\"-2\"><P ALIGN=\"LEFT\"><FONT FACE=\"arial\" SIZE=\"16\" COLOR=\"#FFFFFF\" LETTERSPACING=\"0\" KERNING=\"0\">nombre</FONT></P></TEXTFORMAT>
La página es www.quierograbarmidisco.com
Gracias por tu tiempo
Respuesta
1
Siempre es un gusto responder a las preguntas.
Tu problema es bastante normal en Flash, ya que las casillas de texto suelen incluir HTML que se obtiene por accidente al utilizar ActionScript.
Primero y antes de la solución, te recomiendo dejar atrás el uso de las casillas de texto y utilizar los Componentes incluidos en Flash, ya que son mucho más profesionales desde el punto de vista de programación y con muchas más opciones (y sobretodo, porque te evitas problemas de este tipo). Si lo que buscas es que el usuario introduzca texto tienes el Componente "TextImput" si buscas mostrar un texto en pantalla tienes el Componente "Label" el contenido de ambos textos se obtiene o se modifica mediante:
"nombre_de_instancia.text"
Por ejemplo:
"miTextImput.text = 'Introduzca texto aquí por favor';".
Si aún no quieres o está muy avanzado el proyecto para cambiar a Componentes te recomiendo comprobar en el panel de propiedades de la casilla de texto que el botón "HTML" representado por los famosos paréntesis "<>" está desactivado. Si aún así siguen apareciendo las etiquetas HTML yo diría que eliminaras la casilla y la volvieras a crear y asegurándote de no intentar aplicarle color, tamaño, tipo de letra o alineación, para lo que Flash crea ese odioso código tan molesto.
No te canses intentando modificar la casilla ya creada para borrar el texto ya que una vez creado el HTML es bastante difícil de eliminar.
Por último si nada de esto te es útil, una forma simple es crear una función en ActionScript que ignore el texto que está entre paréntesis "<>". Lo que en programación me gusta llamar limpieza de texto.
Espero que te sean de utilidad, y no dudes volver a preguntar si tienes otra duda.
Suerte.
---
Sel
Y viendo que me sobran unos minutos puedo crearte la "Función de Limpieza", pero recuerda que no es de buen programador consumir más recursos de los necesarios así que sigo insistiendo en las primeras dos opciones.
---
function limpiar(text:String):String {
var texto:Array = text.split("");
var resultado:Array = new Array();
var codigoHTML:Boolean;
for (i=0; i<texto.length; i++) {
if (codigoHTML) {
if (texto == ">") codigoHTML = false;
continue;
}
if (texto == "<") codigoHTML = true;
else resultado[resultado.length] = texto;
}
return resultado.join("");
}
---
Suerte
---
Sel

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas