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

Envio de formulario CDONTS

Estas en el tema de Envio de formulario CDONTS en el foro de ASP Clásico en Foros del Web. Hola a todos, tengo un problemita a ver si alguien me puede ayudar. Tengo el tipico formulario de contacto que llama a un asp, el ...
  #1 (permalink)  
Antiguo 18/10/2007, 09:17
 
Fecha de Ingreso: febrero-2007
Mensajes: 23
Antigüedad: 18 años, 2 meses
Puntos: 0
Envio de formulario CDONTS

Hola a todos, tengo un problemita a ver si alguien me puede ayudar.

Tengo el tipico formulario de contacto que llama a un asp, el email del usuario me llega en formato HTML pero sin acentos ni eñes, que puedo hacer?

Mil gracias.
  #2 (permalink)  
Antiguo 19/10/2007, 08:20
 
Fecha de Ingreso: diciembre-2004
Mensajes: 139
Antigüedad: 20 años, 4 meses
Puntos: 1
Re: Envio de formulario CDONTS

Lo que se me ocurre que podrias hacer es antes de que el CDONT mande el email, hacer un replace() que saque las eñes y ponga el codigo que le corresponde en HTML que seria "ñ" , entonces por ahi llegan bien.
  #3 (permalink)  
Antiguo 19/10/2007, 08:41
 
Fecha de Ingreso: febrero-2007
Mensajes: 23
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Envio de formulario CDONTS

Gracias por tu respuesta.

Intentare hacer algo de eso que me dices, pero no tiene nada que ver con
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" lang="es"> ??
  #4 (permalink)  
Antiguo 19/10/2007, 12:41
 
Fecha de Ingreso: diciembre-2004
Mensajes: 139
Antigüedad: 20 años, 4 meses
Puntos: 1
Re: Envio de formulario CDONTS

Es muy probable, ya que a mi las eñes me llegan y no tengo eso en la pagina que los envia.
Prueba quitando ese codigo
  #5 (permalink)  
Antiguo 19/10/2007, 14:32
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Envio de formulario CDONTS


por que no intentas hacer lo siguiente
en la pagina de respuesta, haz lo siguiente

Cita:
<%
var=Escape("esta Ñ la pondra en la respuesta")
%>
<input type="text" value="<%=var%>"
y logicamente cuando obtengas la respuesta de en tu AJAX, pon el UNESCAPE

Cita:
respuesta=unescape(http.responseText);
intentalo y dinos como te fue

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 19/10/2007, 14:43
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Re: Envio de formulario CDONTS

<%
var=Escape("esta Ñ la pondra en la respuesta")
%>
<input type="text" value="<%=var%>"

Escape es una funcion de VB?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 19/10/2007, 15:08
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Envio de formulario CDONTS

efectivamente Master U_G, en una googleada se denoto que MScript 5.6 trae consigo esa funcion, de hecho tenia el mismo problema con el AJAX en unas paginas que cree
y funciono a la perfeccion, a menos claro este que se lo hayan inventado y funcionara


Anexo: la funcion de un formulario que ocupo, solo ese pedazo:
Cita:
<tr><th>Nombre</th><td colspan="3"><strong><%=Escape(RS.Fields.Item("nombre").value)%></strong></td></tr>
Saludos Master
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #8 (permalink)  
Antiguo 19/10/2007, 15:12
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Re: Envio de formulario CDONTS

Zaz, de lo que se va enterando uno...muy amable Caballero del Zodiaco!

Salud
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 24/10/2007, 09:06
 
Fecha de Ingreso: febrero-2007
Mensajes: 23
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta Re: Envio de formulario CDONTS

Shiryu_Libra cuando dices página de respuesta es al asp?? yo entiendo como respuesta el correo que me llega, que lio
  #10 (permalink)  
Antiguo 24/10/2007, 10:15
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Envio de formulario CDONTS

tortuga73

como es tu metodologia de envio.... asi??

1.- formulario de llenado de datos
2.- consulta a base de datos
3.- desplegar resultados a variables
4.- asignar valores a parametros de correo
5.- enviar correo

asi es tu secuencia???
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #11 (permalink)  
Antiguo 25/10/2007, 09:12
 
Fecha de Ingreso: febrero-2007
Mensajes: 23
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Envio de formulario CDONTS

La cosa es mucho mas sencilla, es el típico formulario de contactar, el usuario rellena los datos y a [email protected] le llega un correo con la información que haya metido el usuario, me explico?
  #12 (permalink)  
Antiguo 25/10/2007, 09:19
 
Fecha de Ingreso: febrero-2007
Mensajes: 23
Antigüedad: 18 años, 2 meses
Puntos: 0
De acuerdo Re: Envio de formulario CDONTS

Despues de muchas pruebas al final ha funcionado asi, charset=iso-8859-1:

El HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<form action="enviarmail.asp" method="post">

El asp:

<%@ LANGUAGE="VBSCRIPT" %>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<%

Dim myMail
Dim HTML
Set myMail = CreateObject("CDONTS.NewMail")



Remitente = Request.Form("email")
'Destino = "[email protected]" 'Email de destino
Empresa = Request.Form("empresa")
Actividad = Request.Form("actividad")
Contacto = Request.Form("contacto")
Direccion = Request.Form("direccion")
CPostal = Request.Form("cpostal")
Poblacion = Request.Form("poblacion")
Provincia = Request.Form("provincia")
Pais = Request.Form("pais")
Email = Request.Form("email")
Telefono = Request.Form("telefono")
Comentarios = Request.Form("comentarios")
Publico = Request.Form("publico")
Controlado = Request.Form("controlado")
Contract = Request.Form("contract")

If Email = "" Then
Response.Redirect("contactar.html")
End If



'asi lo tiene microsoft y asi es como me ha funcionado aunque no sea valido por W
HTML = "<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML//EN"">"
HTML = HTML & "<html lang=""es"">"
HTML = HTML & "<html>"
HTML = HTML & "<head>"
HTML = HTML & "<meta http-equiv=""Content-Type"""
HTML = HTML & "content=""text/html; charset=iso-8859-1"">"
HTML = HTML & "<title>TDCabanes</title>"
HTML = HTML & "</head>"
HTML = HTML & "<body bgcolor=""FFFFFF"">"
HTML = HTML & "<font size =""2"" face=""Arial"">"
HTML = HTML & "<div align=""center""><strong>FORMULARIO DE CONTACTO</strong></div>"
HTML = HTML & "<p><strong>Empresa : </strong>" & Empresa & "</p>"
HTML = HTML & "<p><strong>Actividad : </strong>" & Actividad & "</p>"
HTML = HTML & "<p><strong>Nombre de contacto : </strong>" & Contacto & "</p>"
HTML = HTML & "<p><strong>Dirección : </strong>" & Direccion & "</p>"
HTML = HTML & "<p><strong>Código Postal : </strong>" & CPostal & "</p>"
HTML = HTML & "<p><strong>Población : </strong>" & Poblacion & "</p>"
HTML = HTML & "<p><strong>Provincia : </strong>" & Provincia & "</p>"
HTML = HTML & "<p><strong>País : </strong>" & Pais & "</p>"
HTML = HTML & "<p><strong>Email : </strong>" & Email & "</p>"
HTML = HTML & "<p><strong>Teléfono : </strong>" & Telefono & "</p>"
HTML = HTML & "<p><strong>Comentarios : </strong>" & Comentarios & "</p>"
HTML = HTML & "</font>"
HTML = HTML & "</body>"
HTML = HTML & "</html>"


myMail.From="[email protected]"
myMail.To="[email protected]"
myMail.Subject="usuario web"
myMail.BodyFormat=0
myMail.MailFormat=0
myMail.Body=HTML
myMail.Send
set mymail=nothing


%>
</HEAD>
<BODY>Gracias por escribirnos.
</BODY>
</HTML>

Aqui lo dejo por si a alguien le sirve, gracias a los que en algún momento me han hechado una manito. :)

Última edición por tortuga73; 26/10/2007 a las 08:58
  #13 (permalink)  
Antiguo 16/10/2008, 05:03
Avatar de Midai  
Fecha de Ingreso: febrero-2005
Ubicación: Madrid - España
Mensajes: 134
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: Envio de formulario CDONTS

Muchas gracias, Tortuga73 por explicar aquí cómo lo solucionaste al final.

Llevo tres días peleándome para que lleguen bien los e-mails con los datos del formulario y no había forma. Pero aún probando lo que tú explicas tan bien, me daba fallos, ya no me salía cortada la información, pero sustituía las eñes y los símbolos por otras letras.

Al final, con tus consejos y googleando a tutiplén, he conseguido solucionarlo de la forma siguiente, por si a alguien le sirve:

Al principio del HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

(Lo de <form action="enviarmail.asp" method="post"> no lo he puesto en el html porque éste llamaba a un archivo asp que era el que contenía el formulario y en este último es en el que ya tenía una orden similar)



Al principio del asp que tiene las instrucciones para enviar un correo con los datos del formulario:

<%@ LANGUAGE="VBSCRIPT" %>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

(y a partir de aquí el formulario tal como lo tengáis y que debe empezar por <%)

Solo que además, en mi caso y para que funcione, he tenido que añadir en este asp lo siguiente: Mailer.CharSet=2. Y he tenido que añadirlo antes de la línea Mailer.Subject =.

Creo que en el ejemplo de Tortuga sería ponerlo antes de la línea myMail.Subject="usuario web" y poner myMail.CharSet=2.

Espero que os sirva.
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 21:24.