Comunidad de diseño web y desarrollo en internet online

Problemas con formulario y asp

Citar            
MensajeEscrito el 29 Nov 2006 10:27 am
Hola a todos:

Tengo un problema con un formulario hecho en flash y asp que me envía los datos pero no me aparecen las alertas en el campo de texto dinámico. Ya he leído los post relacionados y no me solucionan el problema. A ver si alguien viendo los códigos se da cuenta del error:

En flash, en el primer frame, estas son las acciones:

estado_txt.autoSize=true;
//Declaro las variables para enviar y para recibir
var envio_lv:LoadVars = new LoadVars();
var recibir_lv:LoadVars = new LoadVars();
//Función que envia el forumlario
function enviarMail() {
envio_lv.nombre = nombre.text;
envio_lv.empresa = empresa.text;
envio_lv.email = email.text;
envio_lv.comentario = comentario.text;
envio_lv.sendAndLoad("http://www.xxx.com/correo.asp", recibir_lv, "POST");
//Aqui ustedes pueden cambiar de form.php a form.asp dependiendo del servidor
//que usen
}
//Función que procesa los datos recibidos del servidor
var recibir_lv:LoadVars = new LoadVars();
recibir_lv.onLoad = function(exito) {
if (exito) {
//output recibida de correo.php
if (this.output == "bien") {
trace("MENSAJE ENVIADO");
estado_txt.text="Su mensaje se ha enviado con éxito";
formulario_mc.enviar_btn.enabled=true;
}
if (this.output == "mal") {
trace("PHP NO ENVIADO");
estado_txt.text="Su mensaje no ha podido ser enviado, intentelo más tarde";
formulario_mc.enviar_btn.enabled=true;
}
} else {
trace("ERROR CONECTANDO");
estado_txt.text="Su mensaje no ha podido ser enviado, intentelo más tarde";
formulario_mc.enviar_btn.enabled=true;
}
};
function BorrarForm() {
errores_txt.text = "";
estado_txt.text = "";
nombre.text = empresa.text=email.text=comentario.text="";
}

stop();

Don de estado_text es la caja de texto dinámico donde no me funcionan los mensajes.

Este es el asp:

<%
nombre = Request.form("nombre")
comentario = Request.form("comentario")
empresa = Request.form("empresa")
email = Request.form("email")
Set mail = server.createObject("Persits.MailSender")
mail.host = "mail.xxx.com"
mail.from = "[email protected]"
mail.addAddress "[email protected]"
mail.Subject = "Formulario de xxx"
'compongo el cuerpo del mensaje
cuerpo = "Formulario Web xxx"& VBNEWLINE & VBNEWLINE
cuerpo = cuerpo & "Nombre: " & nombre & VBNEWLINE
cuerpo = cuerpo & "Comentario: " & comentario & VBNEWLINE
cuerpo = cuerpo & "Empresa: " & empresa & VBNEWLINE
cuerpo = cuerpo & "Email: " & email & VBNEWLINE
mail.body = cuerpo
On Error Resume Next
mail.send
if Err ><0 then
Response.Write "&estado=Error al procesar el formulario, intentelo mas tarde"
else
Response.Write "&estado=Mensaje enviado correctamente"

end if
%>


Gracias a todos por las molestias... :?

Por basterillo

2 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 29 Nov 2006 10:41 am
Hola,

lo primero: declaras la variable recibir_lv 2 veces.

Código :

var recibir_lv:LoadVars = new LoadVars(); 


Y segundo: dónde tienes en el ASP a output que es lo que se comprueba en flash?

Código :

...
if (this.output == "bien") { 
...
if (this.output == "mal") { 
...


Saludos!

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 29 Nov 2006 11:10 am
ok, con lo de la variable, pero lo del ouput lo he copiado por ahí así que no tengo muy claro qué he hecho mal. Lo que quiero es que cuando se pulse el botón de enviar, aparezca un texto en estado_text que diga al usuario que se está enviando, que se ha enviado o que hay un error de envío, porque ahora le das al botón de enviar y envia, pero los datos introducidos en el formulario se quedan ahí y no sabes si se ha enviado o no el formulario...

Por basterillo

2 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 29 Nov 2006 06:11 pm
Sustituye el código del fichero ASP por esto:

Código :

<%
nombre = Request.form("nombre")
comentario = Request.form("comentario")
empresa = Request.form("empresa")
email = Request.form("email")
Set mail = server.createObject("Persits.MailSender")
mail.host = "mail.xxx.com"
mail.from = "[email protected]"
mail.addAddress "[email protected]"
mail.Subject = "Formulario de xxx"
'compongo el cuerpo del mensaje
cuerpo = "Formulario Web xxx"& VBNEWLINE & VBNEWLINE
cuerpo = cuerpo & "Nombre: " & nombre & VBNEWLINE
cuerpo = cuerpo & "Comentario: " & comentario & VBNEWLINE
cuerpo = cuerpo & "Empresa: " & empresa & VBNEWLINE
cuerpo = cuerpo & "Email: " & email & VBNEWLINE
mail.body = cuerpo
On Error Resume Next
mail.send
if Err <>0 then
Response.Write "&output=mal"
else
Response.Write "&output=bien"

end if
%>


Y ya está ^^

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 29 Nov 2006 06:17 pm
puf!, pues debo tener algo más mal porque lo cambio como me dices y no consigo que aparezca el texto debajo del formulario con los avisos...

Por basterillo

2 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 29 Nov 2006 06:32 pm
Modifica el flash así:

Código :

estado_txt.autoSize=true;
//Función que envia el forumlario
function enviarMail() {
  //Declaro las variables para enviar y para recibir
  var envio_lv:LoadVars = new LoadVars();
  var recibir_lv:LoadVars = new LoadVars();
  envio_lv.nombre = nombre.text;
  envio_lv.empresa = empresa.text;
  envio_lv.email = email.text;
  envio_lv.comentario = comentario.text;
  envio_lv.sendAndLoad("http://www.xxx.com/correo.asp", recibir_lv, "POST");
  //Aqui ustedes pueden cambiar de form.php a form.asp dependiendo del servidor
  //que usen
  
  //Función que procesa los datos recibidos del servidor
  recibir_lv.onLoad = function(exito) {
    if (exito) {
      //output recibida de correo.php
      if (this.output == "bien") {
        trace("MENSAJE ENVIADO");
        estado_txt.text="Su mensaje se ha enviado con éxito";
        formulario_mc.enviar_btn.enabled=true;
      } else if (this.output == "mal") {
        trace("PHP NO ENVIADO");
        estado_txt.text="Su mensaje no ha podido ser enviado, intentelo más tarde";
        formulario_mc.enviar_btn.enabled=true;
      }
    } else {
      trace("ERROR CONECTANDO");
      estado_txt.text="Su mensaje no ha podido ser enviado, intentelo más tarde";
      formulario_mc.enviar_btn.enabled=true;
    }
  };
}

function BorrarForm() {
errores_txt.text = "";
estado_txt.text = "";
nombre.text = empresa.text=email.text=comentario.text="";
}

stop();


manteniendo la modificación que le hicistes al ASP. Y nos cuentas que tal.

Saludos!

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 30 Nov 2006 08:20 am
Hola otra vez:

Ya he cambiado el flash como me dijiste y ná, no aparecen los mensajes.

Este es el fla:

estado_txt.autoSize=true;
//Declaro las variables para enviar y para recibir
var envio_lv:LoadVars = new LoadVars();
var recibir_lv:LoadVars = new LoadVars();
//Función que envia el forumlario
function enviarMail() {
envio_lv.nombre = nombre.text;
envio_lv.empresa = empresa.text;
envio_lv.email = email.text;
envio_lv.comentario = comentario.text;
envio_lv.sendAndLoad("http://www.xxx.com/correo.asp", recibir_lv, "POST");
//Aqui ustedes pueden cambiar de form.php a form.asp dependiendo del servidor
//que usen
}
//Función que procesa los datos recibidos del servidor
recibir_lv.onLoad = function(exito) {
if (exito) {
//output recibida de correo.php
if (this.output == "bien") {
trace("MENSAJE ENVIADO");
estado_txt.text="Su mensaje se ha enviado con éxito";
formulario_mc.enviar_btn.enabled=true;
} else if (this.output == "mal") {
trace("PHP NO ENVIADO");
estado_txt.text="Su mensaje no ha podido ser enviado, intentelo más tarde";
formulario_mc.enviar_btn.enabled=true;
}
} else {
trace("ERROR CONECTANDO");
estado_txt.text="Su mensaje no ha podido ser enviado, intentelo más tarde";
formulario_mc.enviar_btn.enabled=true;
}
};


function BorrarForm() {
errores_txt.text = "";
estado_txt.text = "";
nombre.text = empresa.text=email.text=comentario.text="";
}

stop();


Y este el asp:

<%
nombre = Request.form("nombre")
comentario = Request.form("comentario")
empresa = Request.form("empresa")
email = Request.form("email")
Set mail = server.createObject("Persits.MailSender")
mail.host = "mail.xxx.com"
mail.from = "[email protected]"
mail.addAddress "[email protected]"
mail.Subject = "Formulario de xxx"
'compongo el cuerpo del mensaje
cuerpo = "Formulario Web xxx"& VBNEWLINE & VBNEWLINE
cuerpo = cuerpo & "Nombre: " & nombre & VBNEWLINE
cuerpo = cuerpo & "Comentario: " & comentario & VBNEWLINE
cuerpo = cuerpo & "Empresa: " & empresa & VBNEWLINE
cuerpo = cuerpo & "Email: " & email & VBNEWLINE
mail.body = cuerpo
On Error Resume Next
mail.send
if Err <>0 then
Response.Write "&output=mal"
else
Response.Write "&output=bien"

end if
%>


¿Puedo tener algo mal en el flash?

Por basterillo

2 de clabLevel



Genero:Femenino  

firefox

 

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