Senhores,
Estou tentando fazer uma validação em um formulário mas o erro permanece, sempre no mesmo ponto.
Sempre para na parte destacada em vermelho.
Vou colocar o código aqui na esperança de que alguém me socorra, ok?
Também não entendi porque a última parte do código, destacado em vermelho, pois testamos os campos do form dentro de um if/else, mas assim que terminamos é chama a função destacada. Alguém poderia me explicar?
Form:
<form action="#" method="post" id="cform" name="cform" class="clearfix">
<ul id="homehireus" class="hireform">
<li>
<label>Nome:<span class="required">*</span></label>
<input name="name" id="name" type="text" value="" tabindex="1">
</li>
<li>
<label>Telefone:</label>
<input name="phone" id="phone" type="text" value="" tabindex="3">
</li>
<li>
<label>Email:<span class="required">*</span></label>
<input name="email" id="email" type="text" value="" tabindex="2">
</li>
<li>
<input type="button" id="send-message" value="Envie sua mensagem" tabindex="4">
</li>
</ul>
</form>
Arquivo js
$(document).ready(function () {
$('div#output').hide();
//bind send message here
$('#send-message').click(sendMessage);
$('button.close').live('click', function () {
$(this).parent().find('p').html('');
$(this).parent().hide();
});
});
/* Contact Form */
function checkEmail(email) {
var check = /^[\w\.\+-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,6}$/;
if (!check.test(email)) {
return false;
}
return true;
}
function sendMessage() {
// receive the provided data
var name = $("input#name").val();
var email = $("input#email").val();
var phone = $("input#phone").val();
// check if all the fields are filled
if (name == '' || phone == '' || email == '') {
$("div#output").show().html('<button type="button" class="close" data-dismiss="alert-close">x</button><p class="alert-close">Você deve preencher todos os campos!</p>');
return false;
}
// verify the email address
if (!checkEmail(email)) {
$("div#output").show().html('<button type="button" class="close" data-dismiss="alert">x</button><p>Por favor digite um e-mail válido!</p>');
return false;
}
// make the AJAX request
var dataString = $('#cform').serialize();
$.ajax({
type: "POST",
url: 'contact.php',
data: dataString,
dataType: 'json',
success: function (data) {
if (data.success == 0) {
var errors = '<ul><li>';
if (data.name_msg != '')
errors += data.name_msg + '</li>';
if (data.email_msg != '')
errors += '<li>' + data.email_msg + '</li>';
if (data.phone_msg != '')
errors += '<li>' + data.phone_msg + '</li>';
$("div#output").removeClass('alert-success').addClass('alert-error').show().html('<button type="button" class="close" data-dismiss="alert">x</button><p> Verifique sua digitação!</p>' + errors);
}
else if (data.success == 1) {
$("div#output").removeClass('alert-error').addClass('alert-success').show().html('<button type="button" class="close" data-dismiss="alert">x</button><p>Sua mensagem foi enviada com sucesso!</p>');
}
},
error: function (error) {
$("div#output").removeClass('alert-success').addClass('alert-error').show().html('<button type="button" class="close" data-dismiss="alert">x</button><p> VERIFIQUE SUA DIGITAÇÃO!</p>' + error.statusText);
}
});
return false;
}
Obrigado pela ajuda.