Foros del Web » Programando para Internet » ASP Clásico »

formulario comentarios

Estas en el tema de formulario comentarios en el foro de ASP Clásico en Foros del Web. Buenas... Tengo un formulario con un textbox multilinea y un boton de enviar, para que la gente pueda enviar comentarios via intranet de la chamba ...
  #1 (permalink)  
Antiguo 26/02/2008, 16:53
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
formulario comentarios

Buenas...

Tengo un formulario con un textbox multilinea y un boton de enviar, para que la gente pueda enviar comentarios via intranet de la chamba a una direccion de correo electronico.

Todo funciona muy bien, el usuario pone sus comentarios le da click en enviar y se va..... llegando a el correo del destinatario los comentarios..... solo que en la pantalla del usuario solo se desaparece el texto que escribio y ya.

Lo que quiero que haga, y que he intentado hacer pero no me sale, es que al usuario despues de dar click en el boton Submit, el navegador se direccione a una pantalla de agradecimiento para que se de cuenta que su comentario se fue..... y es aqui donde la marrana tuerce el rabo... jejejej..... ya que el correo le llega al responsable, pero le llega vacio en el cuerpo del mensaje.

este es mi codigo:

Código:
  <%
var3=request.Form("coments")
Dim ObjetoMail
Set ObjetoMail=CreateObject("CDO.Message")
ObjetoMail.To = "[email protected]"
ObjetoMail.From = "[email protected]"
ObjetoMail.Subject = "Comentarios a Recursos Humanos" 
ObjetoMail.HTMLBody = VAR3 
ObjetoMail.Send
Set ObjetoMail=Nothing
label="Sus comentarios fueron enviados, Gracias."
%>
</p>
<form id="form1" name="form1" method="post" action="gracias.asp">
  <label>
  <textarea name="coments" cols="50" rows="5" id="coments"></textarea>
  </label>
  <p>
    <label>
    <input type="submit" name="Submit" value="Enviar"  />
    </label>
    <label>
    <input type="reset" name="Submit2" value="Restablecer" />
    </label>
  </p>
</form>
<p>&nbsp;</p>
</body>
</html>

Si en esta linea:

<form id="form1" name="form1" method="post" action="http://www.gracias.asp">

Con la linea de action="" vacia, el correo llega completo y sin problemas, pero el navegador no se direcciona a una pagina de agradecimiento.

Con la linea de action="http://www.gracias.asp" llena, el correo llega vacio (solo llega la direcciones de email y el subject) en el cuerpo del mensaje y el navegador si se direcciona a la pagina de agradecimiento.

Saben porque? esta algo mal en mi codigo?

Muchas gracias por su valiosa ayuda

Última edición por estlui; 27/02/2008 a las 10:08
  #2 (permalink)  
Antiguo 26/02/2008, 18:56
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 1 mes
Puntos: 88
Re: formulario comentarios

y en la pagina "gracias.asp", recojes los datos? o recojes los datos en la misma pagina de agradecimiento
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 26/02/2008, 22:21
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: formulario comentarios

Shiryu_Libra....

Es solo formalismo, y que el usuario se de cuenta que sus comentarios fueron enviados. Es mejor que la pantalla le diga: "Sus comentarios fueron enviados", a que solo desaparescan del cuadro de texto.

Ademas como es para el Depto. de Recursos Humanos... pues.... son medios especiales.

Gracias por atender mi problema
  #4 (permalink)  
Antiguo 27/02/2008, 06:17
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 7 meses
Puntos: 1
Re: formulario comentarios

Vamos a ver estlui,

creo que ya se donde esta el problema y pq preguntaba eso Shiryu_Libra.

Cuando tu dejas el action del form en blanco funciona basicamente pq cuando el usuario pulsa al boton submit se recarga la página y por tanto envia el mail, puesto que es esa pagina la que tiene el codigo de envio mail.

Lo que tienes que hacer es poner en el action del form la pagina "gracias.asp" , pero es en la pagina "gracias.asp" donde tienes que recuperar las variables del form y enviarlas mediante el objeto CDO.Message y a la vez enseñar un se ha enviado correctamente.
  #5 (permalink)  
Antiguo 27/02/2008, 09:28
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 1 mes
Puntos: 88
Re: formulario comentarios


intenta lo siguiente....

Código PHP:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
if 
request.ServerVariables("REQUEST_METHOD")="post" then
    redir
="una pagina de redireccion"
    
if request.Form("mtdo")="verificar" then
        var3
=request.Form("coments")
        
Dim ObjetoMail
        Set ObjetoMail
=CreateObject("CDO.Message")
        
ObjetoMail.To "[email protected]"
        
ObjetoMail.From "[email protected]"
        
ObjetoMail.Subject "Comentarios a Recursos Humanos" 
        
ObjetoMail.HTMLBody VAR3 
        
if Err=0 then
            ObjetoMail
.Send
            response
.Redirect redir
        
else
            
response.Write "Error en envio de correo"
        
end if
        
Set ObjetoMail=Nothing
    end 
if
end if
%>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin t&iacute;tulo</title>
</
head>

<
body>
</
p>
<
form id="form1" name="form1" method="post" action="/?ProgId=Verificar">
<
input type="hidden" value="Verificar" name="mtdo" />
  <
label>
  <
textarea name="coments" cols="50" rows="5" id="coments"></textarea>
  </
label>
  <
p>
    <
label>
    <
input type="submit" name="Submit" value="Enviar"  />
    </
label>
    <
label>
    <
input type="reset" name="Submit2" value="Restablecer" />
    </
label>
  </
p>
</
form>
<
p>&nbsp;</p>
</
body>
</
html
funcionara???
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra

Última edición por Shiryu_Libra; 27/02/2008 a las 10:21
  #6 (permalink)  
Antiguo 27/02/2008, 10:04
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: formulario comentarios

Heeyyy, Shiryu_Libra!!!

Ya funciono!!, muchas gracias.... les muestro como quedo por si alguien lo necesita o le pasa lo mismo.

Lebennin.....!!!, muchsisismas gracias, tenias mucha razon, habia que pasar el texto del comentario a la pagina de agradecimiento para que esa pagina enviara el eMail.

Asi quedo....

en la pagina comentarios.asp, solo esta el formulario con el cuadro de texto multilinea y el boton de Submit, destaca el METHOD="POST" y ACTION="GRACIAS.ASP"

Código:
</head>
<body>
<form id="form1" name="form1" method="post" action="gracias.asp">
  <label>
  <textarea name="coments" cols="50" rows="5" id="coments"></textarea>
  </label>
  <p>
    <label>
    <input type="submit" name="Submit" value="Enviar" />
    </label>
    <label>
    <input type="reset" name="Submit2" value="Restablecer" />
    </label>
  </p>
</form>
<p>&nbsp;</p>
</body>
</html>
En la pagina gracias.asp, que es la encargada de enviar el correo, se recupera con Request.Form("nombre_textbox") lo que el usuario escribio en el formulario de comentarios.

Código:
</head>
<body>
<%
var3=Request.Form("coments")
cadena=Replace(var3, vbCrLf, "<BR>") <-- para que respete los saltos de linea
Dim ObjetoMail
Set ObjetoMail=CreateObject("CDO.Message")
ObjetoMail.To = "[email protected]"
objetoMail.CC = "[email protected]"
ObjetoMail.From = "[email protected]"
ObjetoMail.Subject = "Comentarios a Recursos Humanos" 
ObjetoMail.HTMLBody = cadena 
ObjetoMail.Send
Set ObjetoMail=Nothing
%>

<p>Gracias por sus comentarios.</p>
<p>En 10 segundos la pagina se redireccionara a la pagina de Azteca Mexico:
</p>
<p><META HTTP-EQUIV="Refresh" CONTENT="10;URL=http://pagina_a_donde_quieran_que_ se_redireccione_despues_de_10_segundos"></p>
</body>
</html>

La pagina gracias.asp se encarga de enviar el correo con los comentarios y despues de 10 segundos se redirecciona a otra pagina.

Lebennin y Shiryu_Libra... gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:45.