Foros del Web » Programando para Internet » Javascript »

Envio de formulario por email

Estas en el tema de Envio de formulario por email en el foro de Javascript en Foros del Web. Muy buen día foro espero me puedan ayudar estoy haciendo un formulario que envié los datos hacia un correo preestablecido y tengo esto de código ...
  #1 (permalink)  
Antiguo 23/11/2015, 13:15
 
Fecha de Ingreso: noviembre-2015
Mensajes: 2
Antigüedad: 8 años, 5 meses
Puntos: 0
Exclamación Envio de formulario por email

Muy buen día foro espero me puedan ayudar estoy haciendo un formulario que envié los datos hacia un correo preestablecido y tengo esto de código

Código HTML:
<div id="delfirma" style="display: none;">
<center>
Nota: todos los mensajes se envian a <a href="mailto:[email protected]">
[email protected]</a><br>

&nbsp;
<form action="mailto:[email protected]?subject=TJS - Form" encType="text/plain" method="post" name="Mail" onsubmit="return formCheck();">

  <input name="Info" size="0" type="hidden">
  <input name="Javascript Picksubject Form" size="0" type="hidden">
  <table border="0" cellPadding="5" cellSpacing="0">
    <tr>
      <td>Nombre: <input name="Name" onchange="setName()" size="20"> </td>
      <td align="right">Asunto: <select name="Subject">
      <option selected SELECT>Selecciona asunto...</option>
      <option>1. Delegacion de firma</option>
      </select> </td>
    </tr>
    <tr>
      <td colSpan="2">Coamentarios:<br>
      <textarea cols="65" name="Comments, Suggestions" rows="6"></textarea> </td>
    </tr>
  </table>
  <center>
  <table>
    <tr>
      <td align="middle"><input type="submit" value="Enviar"> </td>
    </tr>
  </table>
    </center>
</form> 
[CODE]<script language="JavaScript">
<!-- Begin
getInfo();
getName();
// End -->
</script>
</font></dd>
</center>
<!-- Script Size: 4.15 KB --><center>
<form>
<p>
<input name="lukk" onclick="window.close();" type="button" value="Cerrar ventana"></p>
Adjunta la delegacion de firma <input name="Delegacion de firma" type="file">
</form>
</center>
<p><br>
</p>
</dd>
</center>
</center>
</div>

<script language="JavaScript">

function getCookie(name){
var cname = name + "=";
var dc = document.cookie;
if (dc.length > 0) {
begin = dc.indexOf(cname);
if (begin != -1) {
begin += cname.length;
end = dc.indexOf(";", begin);
if (end == -1) end = dc.length;
return unescape(dc.substring(begin, end));
}
}
return null;
}
function setCookie(name, value, expires) {
document.cookie = name + "=" + escape(value) +
((expires != null) ? "; expires=" + expires.toGMTString() : "")
+ "; path=/";
}
function setName() {
var expdate = new Date ();
expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000 * 365));
var prompt=i = document.Mail.name.value;
setCookie("name", i, expdate);
}
function getName() {
if(getCookie("name") != null) {
document.Mail.Name.value = getCookie("emailname");
}
}
function getInfo() {
var now= new Date();
document.Mail.Info.value = "Navegador: " + navigator.userAgent;
document.Mail.Info.value += "Fecha:" + now;
}
function checkMultiple() {
if (getCookie("emailsent") == 'true') return true;
else return false;
}
function process() {
setCookie("emailsent", "true");
with (document.Mail) {
(Subject.selectedIndex == 1) action = "mailto:[email protected]?subject=Delegacio n de firma";

}
}
function formCheck() {
var passed = false;
with (document.Mail) {
if (Subject.selectedIndex == 0) {
alert("Por favor selecciona asunto.");
Subject.focus();
}
else if (Name.value == "") {
alert("Por favor incluye tu nombre.");
Name.focus();
}
else if (checkMultiple == "") {
if (confirm("Acabas de mandar un correo de delegacion de firma)) {
process();
passed = true;
}
}
else {
process();
passed = true;
}
}
return passed;
}
// End -->
</script>[/javascrip]

Al hacer esto tengo varios problemas y dudas:

1.-Cuando ejecuto necesito que no se abra el programa que envía mail por default en mi caso en Outlook ya que no deseó que se modifique el destinatario de dicho mail, mi pregunta es ¿Se puede evitar esto?; Es decir que al termino del llenado se envié este correo directamente al mail seleccionado como predeterminado.

2.-Estoy poniendo que se adjunte un archivo quiero que solo admita pdf ¿Esto es posible? de ser lo así ¿Cómo lo hago?.

3.- y por ultimo quiero que valide que si algún dato falta sea de índole obligatorio el que se coloque como el nombre, el asunto y el archivo adjunto.

Espero que con esto me puedan ayudar
  #2 (permalink)  
Antiguo 23/11/2015, 13:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Envio de formulario por email

Te sugiero realizar el envío del correo electrónico desde el lado del servidor, por ejemplo, con PHP. Para la validación del tipo de archivo, también te sugiero hacerlo en el lado del servidor, por ejemplo, con PHP. Para lo último, aunque también puedes hacerlo desde el lado del servidor, te basta con utilizar el atributo required en cada campo y así será obligatorio ingresar datos en ellos para poder procesar el formulario.

Puedes validar tanto en el lado del cliente (JavaScript, HTML5) como en el del servidor (PHP, ASP, JSP), pero siempre ten en cuenta que la validación en el lado del cliente puede saltarse fácilmente, no así la validación en el lado del servidor.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: formulariocontacto, html+javascript, mail
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 22:31.