Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/01/2013, 15:01
Avatar de LionRoots
LionRoots
 
Fecha de Ingreso: enero-2013
Mensajes: 15
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Problema Validacion JS

Hola que tal muchachos, primero que nada felicitarlos por este gran Foro, siempre habia consultado cosas como visitante pero nunca habia creado un post.

La razon de este mensaje es porque tengo mi Web CSS, e hice un formulario de contacto con una validación Javascript, pero lo que me esta sucediendo es que no se valida, se envía directamente.

Aquí les dejo el código para que lo vean.

Formulario en mi web PHP
Código PHP:
 <!-- Formulario de contacto -->
<
form id="contact-form" action="contacto.php" method="post" onsubmit="return validar(this);" enctype="multipart/form-data">                    
<
fieldset>

<
label><span class="text-form">Name:</span><input id="name" name="name" type="text" /></label>
<
label><span class="text-form">Email:</span><input id="email" name="email" type="text" /></label>  
<
label><span class="text-form">Subject:</span><input id="subject" name="subject" type="text" /></label
<
div class="wrapper"><div class="text-form">Message:</div><textarea class="contact textarea" rows="8" cols="50" name="message" id="message"></textarea>
</
div>
<
div class="buttons">
                <
class="button-2" href="#" onClick="document.getElementById('contact-form').reset()">Clear</a>
                <
class="button-2" href="#" onClick="document.getElementById('contact-form').submit()">Send</a>            

                                    </
fieldset>                    
                                </
form>

<!-- 
Fin Formulario de contacto --> 

Contacto.php
Código PHP:
<?php
//Importamos las variables del formulario
foreach($_POST as $k => $v) {
    if(isset(${
$k})) unset(${$k});
    if(
in_array($k, array('name','email','subject','message')))
    ${
$k} = @get_magic_quotes_gpc() ? $v : @addslashes($v);
}
//Preparamos el mensaje de contacto
$cabeceras "From: $email\n" //La persona que envia el correo
 
"Reply-To: $email\n";
$asunto "$subject"// Asunto introducido por el que envia
$email_to "***"// Mi Email
$contenido "$name le ha enviado el siguiente mensaje:\n"
"\n"
"$message\n"
"\n";
//Enviamos el mensaje y comprobamos el resultado
if(@mail($email_to$asunto ,$contenido ,$cabeceras )) {
//Si el mensaje se envia muestra una confirmacion
die("Thank you, your message has been sent successfully. Please be patient, we answer you quickly.");
}else{
//Si el mensaje no se envia muestra el mensaje de error
die("Error: Your message cannot be sent. Try later and sorry for the inconvenience.");
}
?>

Validar.js
Código PHP:
//Funcion que verifica campos del formulario vacios
function Validar(f) {
if(
f.name.value=="") {
    
alert("Please write your full name");
    
f.name.focus();
    return 
false;
    }
if(
f.email.value=="") {
    
alert("Please write your email");
    
f.email.focus();
    return 
false;
    }
if(
f.subject.value=="") {
    
alert("Please write the subject of your message");
    
f.subject.focus();
    return 
false;
    }
if(
f.message.value=="") {
    
alert("Please write your message");
    
f.message.focus();
    return 
false;
    }

Lo que sucede al presionar el boton "Send" es que se envia directamente el formulario con los datos que esten completados sin pasar por la verificación del JS, no se en estoy fallando, intente poner dentro del "onClick" del boton "validar()" pero tampoco, no sucede nada.

Por ultimo aclaro que entre las etiquetas <head> no olvide colocar la siguiente linea.
Código PHP:
<!-- Archivo de validación-->
<
script type="text/javascript" src="validar.js"></script>
<!-- Fin Archivo de validación --> 
Espero que me puedan dar una mano, muchas gracias.