Rediriccionar Formulario contacto en html

No soy muy experta en desarrollo web pero he creado una página, en ella he dado de alta un formulario de contacto en html el cual funciona perfectamente y me envía los correos a mi info@. El problema es que pretendo que quien me envíe el formulario tenga acceso a descargar unos catálogos en PDF y no sé como hacerlo, ¿se puede hacer?

1 respuesta

Respuesta
1
Para que te haga el envío del formulario y que redireccione al usuario a la página de descargas pdf o al archivo PDF, tienes que hacer lo siguiente, te comento como va:
Tu en tu formulario tienes que tener algo parecido a esto:
<form name="formulario" id="formulario" method="POST" action="[email protected]">
<input type="text" name="text">
<input type="submit" value="Enviar">
</form>
donde tienes el <input type="submit"> tienes que cambiarlo por esto:
<input type="button" onclick="envia();">
Acuérdate que el form tiene que tener un id, yo le he puesto "formulario", puedes dejar este mismo, porque para el código necesita el id del formulario.
Ahora entre
<head>
</head>
tienes que poner lo siguiente:

<script languaje="text/javascript">
 function envia(){
 document.getElementById("formulario").submit();
 document.location.href="
ruta_pagina_o_archivo.html";
 }
</script>

Donde "ruta_pagina_o_archivo.html" tienes que poner la página a la que le quieres redireccionar o al archivo en concreto que quieras que vaya, tienes que dejar las comillas.
Bueno, esto te tiene que funcionar, a no ser que tengas algo más metido que no hayas comentado, para cualquier duda comentame.
Hola,
Te agradezco las indicaciones pero aún me encuentro con un problema, y es que cuando le doy al botón enviar, abre a la vez dos páginas: la página de descargas que le indicamos en la función 'envia' y la página de outlook para enviar los datos a mi info. En realidad necesito que primero envíe el correo y después tenga acceso a la página de descargas. Por cierto ¿hay forma de que envíe los datos del formulario sin que se abra la página del correo?
Saludos y muchas muchísimas gracias.
Si que hay forma, primero, a ver si es posible me gustaría ver como lo tienes puesto en tu formulario para lo del correo. Pegame el código del form.
Hola, te pego el código a continuación. Verás que es muy simple y aun no he puesto las validaciones.
<!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=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script languaje="text/javascript">
<!--
function envia(){
 document.getElementById("form1").submit();
 document.location.href="descargaPdf.html";
 }
//-->
</script>
</head>
<body>
<form id="form1" name="form1" method="get" action="mailto:[email protected]">
<p>Contacto
    <input name="contacto" type="text" id="contacto" />
</p>
<p>Entidad
    <input name="entidad" type="text" id="entidad" />
</p>
<p>Teléfono
    <input name="telefono" type="text" id="telefono" />
  </p>
<p>Email
    <input name="email" type="text" id="email" />
  </p>
<p>
    <input type="button" onclick="envia();" value="descargar">
  </p>
</form>
</body>
</html>
Espero noticias, gracias
El form tiene que llevar este formato, te modifico tu encabezado form, quedaría así:
<form  id="form1" name="form1" action="mailto:[email protected]" method="post" enctype="text/plain">

Te recomiendo otra forma de enviar el correo, puede darte problemas ya que no está controlado directamente por el servidor, si donde tienes hospedada la web tiene servicio de PHP o ASP te recomiendo que lo proceses así ya que es más fiable y más controlable, si decides hacerlo por ésta forma, coméntalo y te hecho una mano.
Gracias por tu tiempo, me has sido de gran utilidad. Ya le daba vueltas a hacerlo con php así que seguramente que me pondré a ello, ya que me ofreces tu ayuda lo más probable es que acabe pidiéndotela, pero primero lo intentaré sola.
Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas