Quiero añadirle un Formulario de Comentarios a mi web, el problema es que me sobran los campos Empresa: y Telefono: el codigo funciona perfectamente sin editar nada, incluso si no relleno los huecos de telefono y empresa me manda el email perfectamente.
Pero lo que quiero es quitarlos, lo he echo de manera directa sobre la Tabla pero no envia el mail, y tocando los comandos del PHP y del JS que hacen el envio pero tampoco acabo de arreglarlo.
Head:
Cita:
Body:<script type="text/javascript" src="js/funciones.js"></script>
Cita:
Mail.PHP<table width="900" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="825" height="349" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="825" height="349"><div id="formContenedor">
<form id="formulario">
<div id="transparencia">
<div id="transparenciaMensaje"></div>
</div>
<table>
<!--DWLayoutTable-->
<tbody>
<tr>
<td class="label"><font size="2" face="Verdana">Nombre:</font></td>
<td class="campo"><input class="inputNormal" type="text" id="inputNombre"></td>
<td> </td>
</tr>
<tr>
<td class="label"><font size="2" face="Verdana">Empresa:</font></td>
<td class="campo"><input class="inputNormal" type="text" id="inputEmpresa"></td>
<td> </td>
</tr>
<tr>
<td class="label"><font size="2" face="Verdana">Teléfono:</font></td>
<td class="campo"><input class="inputNormal" type="text" id="inputTelefono"></td>
<td> </td>
</tr>
<tr>
<td class="label"><font size="2" face="Verdana">Mail:</font></td>
<td class="campo"><input class="inputNormal" type="text" id="inputCorreo"></td>
<td> </td>
</tr>
<tr>
<td class="label"><font size="2" face="Verdana">Comentario:</font></td>
<td class="campo"><textarea class="inputNormal" id="inputComentario"></textarea></td>
<td> </td>
</tr>
</tbody>
</table>
<br>
<div>
<font size="2">
<button id="botonEnviar" onClick="validaForm()" type="button"><font face="Verdana">Enviar</font></button>
</font></div>
</form>
</div>
<div id="mensajesAyuda">
<div id="ayudaTitulo"></div>
<div id="ayudaTexto"></div>
</div></td>
</tr>
</table>
<!--DWLayoutTable-->
<tr>
<td width="825" height="349" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="825" height="349"><div id="formContenedor">
<form id="formulario">
<div id="transparencia">
<div id="transparenciaMensaje"></div>
</div>
<table>
<!--DWLayoutTable-->
<tbody>
<tr>
<td class="label"><font size="2" face="Verdana">Nombre:</font></td>
<td class="campo"><input class="inputNormal" type="text" id="inputNombre"></td>
<td> </td>
</tr>
<tr>
<td class="label"><font size="2" face="Verdana">Empresa:</font></td>
<td class="campo"><input class="inputNormal" type="text" id="inputEmpresa"></td>
<td> </td>
</tr>
<tr>
<td class="label"><font size="2" face="Verdana">Teléfono:</font></td>
<td class="campo"><input class="inputNormal" type="text" id="inputTelefono"></td>
<td> </td>
</tr>
<tr>
<td class="label"><font size="2" face="Verdana">Mail:</font></td>
<td class="campo"><input class="inputNormal" type="text" id="inputCorreo"></td>
<td> </td>
</tr>
<tr>
<td class="label"><font size="2" face="Verdana">Comentario:</font></td>
<td class="campo"><textarea class="inputNormal" id="inputComentario"></textarea></td>
<td> </td>
</tr>
</tbody>
</table>
<br>
<div>
<font size="2">
<button id="botonEnviar" onClick="validaForm()" type="button"><font face="Verdana">Enviar</font></button>
</font></div>
</form>
</div>
<div id="mensajesAyuda">
<div id="ayudaTitulo"></div>
<div id="ayudaTexto"></div>
</div></td>
</tr>
</table>
Cita:
y el funciones.js<?php
function validaLongitud($valor, $permiteVacio, $minimo, $maximo)
{
$cantCar=strlen($valor);
if(empty($valor))
{
if($permiteVacio) return TRUE;
else return FALSE;
}
else
{
if($cantCar>=$minimo && $cantCar<=$maximo) return TRUE;
else return FALSE;
}
}
function validaCorreo($valor)
{
if(eregi("([a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30})", $valor)) return TRUE;
else return FALSE;
}
// MAIN
if($_POST)
{
foreach($_POST as $clave => $valor) $$clave=addslashes(trim(utf8_decode($valor)));
sleep(5);
if(!validaLongitud($nombre, 0, 4, 50)) $error=1;
if(!validaLongitud($empresa, 1, 4, 50)) $error=1;
if(!validaLongitud($telefono, 1, 4, 50)) $error=1;
if(!validaCorreo($correo)) $error=1;
if(!validaLongitud($comentarios, 0, 5, 500)) $error=1;
if($error==1) echo "Error";
else
{
$fecha=date("d/m/y - H:i");
$mensaje="
Tienes un nuevo mensaje
Fecha: $fecha
Nombre: $nombre
Empresa: $empresa
Telefono: $telefono
Correo electrónico: $correo
Comentarios: $comentarios";
mail("[email protected]", "Comentario desde la Web", $mensaje, "Titulo Web");
echo "OK";
}
}
?>
function validaLongitud($valor, $permiteVacio, $minimo, $maximo)
{
$cantCar=strlen($valor);
if(empty($valor))
{
if($permiteVacio) return TRUE;
else return FALSE;
}
else
{
if($cantCar>=$minimo && $cantCar<=$maximo) return TRUE;
else return FALSE;
}
}
function validaCorreo($valor)
{
if(eregi("([a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30})", $valor)) return TRUE;
else return FALSE;
}
// MAIN
if($_POST)
{
foreach($_POST as $clave => $valor) $$clave=addslashes(trim(utf8_decode($valor)));
sleep(5);
if(!validaLongitud($nombre, 0, 4, 50)) $error=1;
if(!validaLongitud($empresa, 1, 4, 50)) $error=1;
if(!validaLongitud($telefono, 1, 4, 50)) $error=1;
if(!validaCorreo($correo)) $error=1;
if(!validaLongitud($comentarios, 0, 5, 500)) $error=1;
if($error==1) echo "Error";
else
{
$fecha=date("d/m/y - H:i");
$mensaje="
Tienes un nuevo mensaje
Fecha: $fecha
Nombre: $nombre
Empresa: $empresa
Telefono: $telefono
Correo electrónico: $correo
Comentarios: $comentarios";
mail("[email protected]", "Comentario desde la Web", $mensaje, "Titulo Web");
echo "OK";
}
}
?>
Cita:
Asi, si lo envia pero tambien aparece los campos Telefono y Empresa, estado borrando los campos del PHP y JS que llamaban a las etiquetas de los mismos pero no llega el mail y no se como quitarlo.// Variables para setear
onload=function()
{
cAyuda=document.getElementById("mensajesAyuda");
cNombre=document.getElementById("ayudaTitulo");
cTex=document.getElementById("ayudaTexto");
divTransparente=document.getElementById("transpare ncia");
divMensaje=document.getElementById("transparenciaM ensaje");
form=document.getElementById("formulario");
urlDestino="js/mail.php";
claseNormal="input";
claseError="inputError";
ayuda=new Array();
ayuda["Nombre"]="Ingresa tu nombre. De 4 a 50 caracteres. OBLIGATORIO";
ayuda["Empresa"]="Ingresa el nombre de tu Empresa. De 4 a 50 caracteres.";
ayuda["Telefono"]="Ingresa un teléfono de contacto.";
ayuda["Correo"]="Ingresa un e-mail válido. OBLIGATORIO";
ayuda["Comentario"]="Ingresa tus comentarios. De 5 a 500 caracteres. OBLIGATORIO";
preCarga("js/ok.gif", "js/loading.gif", "js/error.gif");
}
function preCarga()
{
imagenes=new Array();
for(i=0; i<arguments.length; i++)
{
imagenes[i]=document.createElement("img");
imagenes[i].src=arguments[i];
}
}
function nuevoAjax()
{
var xmlhttp=false;
try
{
// No IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
function limpiaForm()
{
for(i=0; i<=4; i++)
{
form.elements[i].className=claseNormal;
}
document.getElementById("inputComentario").classNa me=claseNormal;
}
function campoError(campo)
{
campo.className=claseError;
error=1;
}
function ocultaMensaje()
{
divTransparente.style.display="none";
}
function muestraMensaje(mensaje)
{
divMensaje.innerHTML=mensaje;
divTransparente.style.display="block";
}
function eliminaEspacios(cadena)
{
// Funcion para eliminar espacios delante y detras de cada cadena
while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
return cadena;
}
function validaLongitud(valor, permiteVacio, minimo, maximo)
{
var cantCar=valor.length;
if(valor=="")
{
if(permiteVacio) return true;
else return false;
}
else
{
if(cantCar>=minimo && cantCar<=maximo) return true;
else return false;
}
}
function validaCorreo(valor)
{
var reg=/(^[a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30}$)/;
if(reg.test(valor)) return true;
else return false;
}
function validaForm()
{
limpiaForm();
error=0;
var nombre=eliminaEspacios(form.inputNombre.value);
var empresa=eliminaEspacios(form.inputEmpresa.value);
var telefono=eliminaEspacios(form.inputTelefono.value) ;
var correo=eliminaEspacios(form.inputCorreo.value);
var comentarios=eliminaEspacios(form.inputComentario.v alue);
if(!validaLongitud(nombre, 0, 4, 50)) campoError(form.inputNombre);
if(!validaLongitud(empresa, 1, 4, 50)) campoError(form.inputEmpresa);
if(!validaLongitud(telefono, 1, 4, 50)) campoError(form.inputTelefono);
if(!validaCorreo(correo)) campoError(form.inputCorreo);
if(!validaLongitud(comentarios, 0, 5, 500)) campoError(form.inputComentario);
if(error==1)
{
var texto="<img src='js/error.gif' alt='Error'><br><br>Error: Revise los campos en rojo.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
muestraMensaje(texto);
}
else
{
var texto="<img src='js/loading.gif' alt='Enviando'><br>Enviando. Por favor espere.<br><br><button style='width:60px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ocultar</button>";
muestraMensaje(texto);
var ajax=nuevoAjax();
ajax.open("POST", urlDestino, true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("nombre="+nombre+"&empresa="+empresa+"&t elefono="+telefono+"&correo="+correo+"&comentarios ="+comentarios);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
var respuesta=ajax.responseText;
if(respuesta=="OK")
{
var texto="<img src='js/ok.gif' alt='Ok'><br>Gracias por su mensaje.<br>Le responderemos con la mayor brevedad posible.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
}
else var texto="<img src='js/error.gif'><br><br>Error: intente más tarde.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
muestraMensaje(texto);
}
}
}
}
// Mensajes de ayuda
if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0;
else navegador=1;
function colocaAyuda(event)
{
if(navegador==0)
{
var corX=window.event.clientX+document.documentElement .scrollLeft;
var corY=window.event.clientY+document.documentElement .scrollTop;
}
else
{
var corX=event.clientX+window.scrollX;
var corY=event.clientY+window.scrollY;
}
cAyuda.style.top=corY+20+"px";
cAyuda.style.left=corX+15+"px";
}
function ocultaAyuda()
{
cAyuda.style.display="none";
if(navegador==0)
{
document.detachEvent("onmousemove", colocaAyuda);
document.detachEvent("onmouseout", ocultaAyuda);
}
else
{
document.removeEventListener("mousemove", colocaAyuda, true);
document.removeEventListener("mouseout", ocultaAyuda, true);
}
}
function muestraAyuda(event, campo)
{
colocaAyuda(event);
if(navegador==0)
{
document.attachEvent("onmousemove", colocaAyuda);
document.attachEvent("onmouseout", ocultaAyuda);
}
else
{
document.addEventListener("mousemove", colocaAyuda, true);
document.addEventListener("mouseout", ocultaAyuda, true);
}
cNombre.innerHTML=campo;
cTex.innerHTML=ayuda[campo];
cAyuda.style.display="block";
}
onload=function()
{
cAyuda=document.getElementById("mensajesAyuda");
cNombre=document.getElementById("ayudaTitulo");
cTex=document.getElementById("ayudaTexto");
divTransparente=document.getElementById("transpare ncia");
divMensaje=document.getElementById("transparenciaM ensaje");
form=document.getElementById("formulario");
urlDestino="js/mail.php";
claseNormal="input";
claseError="inputError";
ayuda=new Array();
ayuda["Nombre"]="Ingresa tu nombre. De 4 a 50 caracteres. OBLIGATORIO";
ayuda["Empresa"]="Ingresa el nombre de tu Empresa. De 4 a 50 caracteres.";
ayuda["Telefono"]="Ingresa un teléfono de contacto.";
ayuda["Correo"]="Ingresa un e-mail válido. OBLIGATORIO";
ayuda["Comentario"]="Ingresa tus comentarios. De 5 a 500 caracteres. OBLIGATORIO";
preCarga("js/ok.gif", "js/loading.gif", "js/error.gif");
}
function preCarga()
{
imagenes=new Array();
for(i=0; i<arguments.length; i++)
{
imagenes[i]=document.createElement("img");
imagenes[i].src=arguments[i];
}
}
function nuevoAjax()
{
var xmlhttp=false;
try
{
// No IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
function limpiaForm()
{
for(i=0; i<=4; i++)
{
form.elements[i].className=claseNormal;
}
document.getElementById("inputComentario").classNa me=claseNormal;
}
function campoError(campo)
{
campo.className=claseError;
error=1;
}
function ocultaMensaje()
{
divTransparente.style.display="none";
}
function muestraMensaje(mensaje)
{
divMensaje.innerHTML=mensaje;
divTransparente.style.display="block";
}
function eliminaEspacios(cadena)
{
// Funcion para eliminar espacios delante y detras de cada cadena
while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
return cadena;
}
function validaLongitud(valor, permiteVacio, minimo, maximo)
{
var cantCar=valor.length;
if(valor=="")
{
if(permiteVacio) return true;
else return false;
}
else
{
if(cantCar>=minimo && cantCar<=maximo) return true;
else return false;
}
}
function validaCorreo(valor)
{
var reg=/(^[a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30}$)/;
if(reg.test(valor)) return true;
else return false;
}
function validaForm()
{
limpiaForm();
error=0;
var nombre=eliminaEspacios(form.inputNombre.value);
var empresa=eliminaEspacios(form.inputEmpresa.value);
var telefono=eliminaEspacios(form.inputTelefono.value) ;
var correo=eliminaEspacios(form.inputCorreo.value);
var comentarios=eliminaEspacios(form.inputComentario.v alue);
if(!validaLongitud(nombre, 0, 4, 50)) campoError(form.inputNombre);
if(!validaLongitud(empresa, 1, 4, 50)) campoError(form.inputEmpresa);
if(!validaLongitud(telefono, 1, 4, 50)) campoError(form.inputTelefono);
if(!validaCorreo(correo)) campoError(form.inputCorreo);
if(!validaLongitud(comentarios, 0, 5, 500)) campoError(form.inputComentario);
if(error==1)
{
var texto="<img src='js/error.gif' alt='Error'><br><br>Error: Revise los campos en rojo.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
muestraMensaje(texto);
}
else
{
var texto="<img src='js/loading.gif' alt='Enviando'><br>Enviando. Por favor espere.<br><br><button style='width:60px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ocultar</button>";
muestraMensaje(texto);
var ajax=nuevoAjax();
ajax.open("POST", urlDestino, true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("nombre="+nombre+"&empresa="+empresa+"&t elefono="+telefono+"&correo="+correo+"&comentarios ="+comentarios);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
var respuesta=ajax.responseText;
if(respuesta=="OK")
{
var texto="<img src='js/ok.gif' alt='Ok'><br>Gracias por su mensaje.<br>Le responderemos con la mayor brevedad posible.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
}
else var texto="<img src='js/error.gif'><br><br>Error: intente más tarde.<br><br><button style='width:45px; height:18px; font-size:10px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
muestraMensaje(texto);
}
}
}
}
// Mensajes de ayuda
if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0;
else navegador=1;
function colocaAyuda(event)
{
if(navegador==0)
{
var corX=window.event.clientX+document.documentElement .scrollLeft;
var corY=window.event.clientY+document.documentElement .scrollTop;
}
else
{
var corX=event.clientX+window.scrollX;
var corY=event.clientY+window.scrollY;
}
cAyuda.style.top=corY+20+"px";
cAyuda.style.left=corX+15+"px";
}
function ocultaAyuda()
{
cAyuda.style.display="none";
if(navegador==0)
{
document.detachEvent("onmousemove", colocaAyuda);
document.detachEvent("onmouseout", ocultaAyuda);
}
else
{
document.removeEventListener("mousemove", colocaAyuda, true);
document.removeEventListener("mouseout", ocultaAyuda, true);
}
}
function muestraAyuda(event, campo)
{
colocaAyuda(event);
if(navegador==0)
{
document.attachEvent("onmousemove", colocaAyuda);
document.attachEvent("onmouseout", ocultaAyuda);
}
else
{
document.addEventListener("mousemove", colocaAyuda, true);
document.addEventListener("mouseout", ocultaAyuda, true);
}
cNombre.innerHTML=campo;
cTex.innerHTML=ayuda[campo];
cAyuda.style.display="block";
}
Gracias de antemano.