Validación de formulario y envio por mail
Publicado por Smith (1 intervención) el 21/01/2008 21:24:57
como puedo hacer que este codigo, me envie por correo lo que valida, ya que si hay error me sale que escriba todo correctamente pero no me envia por correo
<!---------------------------EMPIEZA FORMULARIO----------------------->
<form name="main" method="post" action="mailto:yo@yahoo.es" onSubmit="return mailMe( this.form )" enctype="text/plain">
<p><strong>Tu Nombre </strong><br>
<input type="text" width="30" name="name" style="border:1 solid #000000"><br>
<strong>Dirección de Correo </strong><br>
<input type="text" width="30" name="address" style="border:1 solid #000000"><br>
<strong>Tus Comentarios </strong><br>
<textarea NAME="comments" ROWS="8" COLS="30" wrap="virtual"></textarea><br>
<input type="button" value="Enviar" onClick="javascript:validate();"><input type="reset" value="Restablecer"></p>
</form>
<!---------------------------FIN FORMULARIO----------------------->
<script language="JavaScript1.2">
var alphaChars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
var numChars="0123456789";
var error;
var error_n;
var error_ad;
var errormsg;
//--------------------------Customise-------------------------------
var isNameReq=true; // True si el nombre es requerido caso contrario False
var isAddressReq=true; // True si la direccion es requerida caso contrario False
//------------------------------------------------------------------
function mailMe( form ) {
return true;
}
function reset_error()
{
error_n=false;
error_ad=false;
errormsg='Se encontraron los siguiente errores :: _____________________________ ';
}
function validate_name()
{
if(isNameReq)
{
if(document.main.name.value=="")
{
errormsg+='Escribe tu Nombre. ';
error_n=true;
document.main.name.focus();
}
}
for(var i=0; i<document.main.name.value.length; i++)
{
for(var j=0; j<alphaChars.length; j++)
{
if(alphaChars.charAt(j)==document.main.name.value.charAt(i))
{
break;
}
else
{
if(j==(alphaChars.length-1))
{
errormsg+='"' + document.main.name.value.charAt(i) + '"' + ' es un caracter invalido para Nombre. ';
error_n=true;
}
}
if(error_n)
{
document.main.name.select();
}
}
}
}
function validate_address()
{
if(isAddressReq)
{
if(document.main.address.value.indexOf('@', 0) == -1 ||
document.main.address.value.indexOf('.', 0) == -1)
{
errormsg+='Escribe tu direccion de Email correctamente. ';
error_ad=true;
if(!error_n)
{
document.main.address.focus();
}
}
}
}
function validate()
{
reset_error();
validate_name();
validate_address();
if(error_n||error_ad||error_a||error_z)
{
error=true;
}
else
{
error=false;
}
if(!error)
{
document.main.submit();
}
else
{
alert(errormsg);
}
}
</script>
<!----------------------------FIN DEL SCRIPT-------------------------->
<!---------------------------EMPIEZA FORMULARIO----------------------->
<form name="main" method="post" action="mailto:yo@yahoo.es" onSubmit="return mailMe( this.form )" enctype="text/plain">
<p><strong>Tu Nombre </strong><br>
<input type="text" width="30" name="name" style="border:1 solid #000000"><br>
<strong>Dirección de Correo </strong><br>
<input type="text" width="30" name="address" style="border:1 solid #000000"><br>
<strong>Tus Comentarios </strong><br>
<textarea NAME="comments" ROWS="8" COLS="30" wrap="virtual"></textarea><br>
<input type="button" value="Enviar" onClick="javascript:validate();"><input type="reset" value="Restablecer"></p>
</form>
<!---------------------------FIN FORMULARIO----------------------->
<script language="JavaScript1.2">
var alphaChars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
var numChars="0123456789";
var error;
var error_n;
var error_ad;
var errormsg;
//--------------------------Customise-------------------------------
var isNameReq=true; // True si el nombre es requerido caso contrario False
var isAddressReq=true; // True si la direccion es requerida caso contrario False
//------------------------------------------------------------------
function mailMe( form ) {
return true;
}
function reset_error()
{
error_n=false;
error_ad=false;
errormsg='Se encontraron los siguiente errores :: _____________________________ ';
}
function validate_name()
{
if(isNameReq)
{
if(document.main.name.value=="")
{
errormsg+='Escribe tu Nombre. ';
error_n=true;
document.main.name.focus();
}
}
for(var i=0; i<document.main.name.value.length; i++)
{
for(var j=0; j<alphaChars.length; j++)
{
if(alphaChars.charAt(j)==document.main.name.value.charAt(i))
{
break;
}
else
{
if(j==(alphaChars.length-1))
{
errormsg+='"' + document.main.name.value.charAt(i) + '"' + ' es un caracter invalido para Nombre. ';
error_n=true;
}
}
if(error_n)
{
document.main.name.select();
}
}
}
}
function validate_address()
{
if(isAddressReq)
{
if(document.main.address.value.indexOf('@', 0) == -1 ||
document.main.address.value.indexOf('.', 0) == -1)
{
errormsg+='Escribe tu direccion de Email correctamente. ';
error_ad=true;
if(!error_n)
{
document.main.address.focus();
}
}
}
}
function validate()
{
reset_error();
validate_name();
validate_address();
if(error_n||error_ad||error_a||error_z)
{
error=true;
}
else
{
error=false;
}
if(!error)
{
document.main.submit();
}
else
{
alert(errormsg);
}
}
</script>
<!----------------------------FIN DEL SCRIPT-------------------------->
Valora esta pregunta


0