ActionScript - Detectar cuadros de texto vacios en formulario

 
Vista:

Detectar cuadros de texto vacios en formulario

Publicado por William (1 intervención) el 17/02/2006 19:41:12
Hola a todos, les pido ayuda en algo q no pude solucionar. Estoy haciendo un formulario en flash que envia mails a una cuenta cualquiera. El problema es que si en este formulario no se escribe nada en los cuadros de texto, igual envia un mail, pero vacio, sin asunto, sin mail y sin cuerpo.
Quiero que al presionar el boton de enviar vea si tiene contenido en los campos, si es asi que envie el mail, pero si no lo es, que me avise.
Este es el codigo del boton:

on (release) {
if(email_txt.text="") {
estado_txt.text = "Debe escribir su mail";
stop;
}
if(asunto_txt.text="") {
estado_txt.text = "Escriba un asunto al comentario";
stop;
}
if(cuerpo_txt.text="") {
estado_txt.text = "Falta escribir el comentario";
stop;
}
estado_txt.text = "Enviando su correo ...";
enviarMail();
}

Pues como es obvio, con este codigo no resulta, ¿me podrian decir que estoy haciendo mal?
Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Solución para validar campos de texto antes de enviar un formulario de correo electrónico

Publicado por Alejandro (369 intervenciones) el 21/06/2023 23:53:04
Hola, William.

El problema en tu código está en la forma en que estás comparando los valores de los campos de texto. En lugar de utilizar el operador de comparación `==`, estás utilizando el operador de asignación `=` en tus condicionales `if`. Esto hace que estés asignando un valor en lugar de compararlo, lo cual siempre dará como resultado `true`.

Para corregirlo, debes cambiar el operador `=` por `==` en tus condicionales `if`. Aquí está el código corregido:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
on(release) {
    if (email_txt.text == "") {
        estado_txt.text = "Debe escribir su mail";
        stop();
    }
    if (asunto_txt.text == "") {
        estado_txt.text = "Escriba un asunto al comentario";
        stop();
    }
    if (cuerpo_txt.text == "") {
        estado_txt.text = "Falta escribir el comentario";
        stop();
    }
    estado_txt.text = "Enviando su correo ...";
    enviarMail();
}

Con esta corrección, los campos de texto se compararán correctamente y mostrarán los mensajes correspondientes en caso de estar vacíos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar