Lo separo en dos trozos. Por un lado el código para determinar si los campos están rellenados correctamente y por otro lado el formulario propiamente dicho.
Código:
<script> function elimina(obj){ if(obj.value.indexOf('Escriba aq') == 0) obj.value=""; } function borrar(){ document.contacto.nombre.value=""; document.contacto.email.value=""; document.contacto.comentario.value=""; } function validar(){ var error = false; var error_msg = "Los siguientes campos fueron introducidos incorrectamente:\n"; if (document.contacto.nombre.value.indexOf('Escriba aq') == 0 || document.contacto.nombre.value== ""){ error = true; error_msg += "- Campo Nombre\n"; } if (document.contacto.email.value.indexOf('Escriba aq') == 0 || document.contacto.email.value== ""){ error = true; error_msg += "- Campo Email\n"; } else if (document.contacto.email.value.indexOf('@') == -1 || document.contacto.email.value.indexOf('.') == -1 ){ error = true; error_msg += "- Campo Email\n"; } if (document.contacto.comentario.value.indexOf('Escriba aq') == 0 || document.contacto.comentario.value== ""){ error = true; error_msg += "- Campo Comentario\n"; } if (error) alert(error_msg); else document.contacto.submit(); } </script>
Código:
Los asteriscos corresponden al correo electrónico donde debería recibir los comentarios.<form name="contacto" id="contacto" method="post" action="?enviar=1"> <table width="547" border="0" cellspacing="3" cellpadding="0"> <tr> <td width="112" align="right" valign="top">Su nombre:</td> <td width="435"><input class="bordeado_azul" id="nombre" type="text" name="nombre" value="Escriba aquí su nombre" onClick="elimina(this)" size="33"/></td> </tr> <tr> <td align="right" valign="top">Su email:</td> <td><input class="bordeado_azul" name="email" id="email" type="text" value="Escriba aquí su email" onClick="elimina(this)" size="33" /></td> </tr> <tr> <td align="right" valign="top">Comentarios:</td> <td><textarea cols="88" rows="8" id="comentario" name="comentario" onClick="elimina(this)" class="bordeado_azul">Escriba aquí sus comentarios</textarea></td> </tr> <tr> <td colspan="2" align="right"><input class="sulete" name="borrar" type="button" value="Borrar"/> <input class="sulete" type="button" value="Enviar" onClick="validar()"/></td> </tr> </table> </form> <? if ($_GET['enviar'] == 1){ $para = 'info@el**********i.com'; $asunto = 'Formulario de contacto'; $mensaje = ' <table width="541" cellspacing="0" cellpadding="0" border="1"> <tr> <th width="114" valign="top" bgcolor="#E5EAF9" align="center" style="color:#FFF; text-align:center;" colspan="2">Contacto</td> </tr> <tr> <td>Nombre:</td><td>'.$_POST['nombre'].'</td> </tr> <tr> <td>Email:</td><td>'.$_POST['email'].'</td> </tr> <tr> <td style="text-align:center;" colspan="2">Comentario:</td> </tr> <tr> <td colspan="2">'.$_POST['comentario'].'</td> </tr> </table> '; $cabeceras = 'MIME-Version: 1.0' . "\r\n"; $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $cabeceras .= 'From: Contacto <info@el*********i.com>' . "\r\n"; //echo $mensaje; mail($para,$asunto,$mensaje,$cabeceras); } ?> </div>
Agradecido de antemano a quien pueda ayudarme.
Gracias.