Tengo un formulario que estoy usando html5 para validar el correo electrónico y los campos obligatorios. El formulario debe enviarse a través de ajax. ¿Cómo puedo determinar que el formulario pasó la validación antes de permitir que el formulario se envíe a través de ajax?Cómo comprobar si la validación del formulario html5 está completa
Esta es mi html:
<form action="" method="post" id="comment_form">
<input type="hidden" name="post_id" value="<?=$post->ID ?>" />
<label for="name">Name</label>
<input type="text" name="name" required="required">
<label for="email">Email Address</label>
<input type="email" name="email" required="required">
<label for="comment">Comment</label>
<textarea name="comment" required="required" >
</textarea>
<label for="submit"></label>
<button type="submit"class="button green meduim" id="comment_btn">Submit</button>
</form>
Ésta es mi jQuery
$("#comment_btn").click(function(e){
//the request url
var url = site_url+'comments/post_comment';
//cross site request forgery token
var xtoken = $("input[name='xtoken']").val();
//post data
var dataObj = {
"name":$('#name').val(),
"email":$("#email").val(),
"comment":$("#comment").val(),
"post_id":$("input[name='post_id']").val(),
"xtoken":xtoken
};
//dim form
$('#comment_form').addClass('dim');
//make request
$.ajax({
url:url,
type:'POST',
data:dataObj,
dataType:'json',
error:function() {},
success:function(resp) {
if(resp.status == "ok")
{
$('#comment_form').removeClass('dim');
}else {
alert("An error was encountered");
}
}
});
e.preventDefault();
});
¿Hay una manera de determinar si se valida el formulario?
Usted puede decir 'required' en lugar de' required = "required" '. –