$(’.btn-submit’).click(function(e){
var $formId = $(this).parents(‘form’);
var formAction = $formId.attr(‘action’);
var emailReg = /^([\w-.]+@([\w-]+.)+[\w-]{2,4})?$/;
var $error = $(’’);
var nazwa_uzReg = /^([a-z0-9_-]{6,16})?$/;
$(‘li’,$formId).removeClass(‘error’);
$(‘span.error’).remove();
// Validate all inputs with the class “required”
$(’.required’,$formId).each(function(){
var inputVal = $(this).val();
var $parentTag = $(this).parent();
if(inputVal == ‘’){
$parentTag.addClass(‘error’).append($error.clone().text(‘Uzupełnij pole’));
}
if($(this).hasClass(‘nazwa_uz’) == true){
var nazwa_uz = $(’#nazwa_uz’).val();
if(!nazwa_uzReg.test(inputVal)){
$parentTag.addClass(‘error’).append($error.clone().text(‘6-16znakow’));}}
// Run the email validation using the regex for those input items also having class “email”
if($(this).hasClass(‘email’) == true){
if(!emailReg.test(inputVal)){
$parentTag.addClass(‘error’).append($error.clone().text(‘Niepoprawny e-mail’));
}
}
// Check passwords match for inputs with class “password”
if($(this).hasClass(‘password’) == true){
var password1 = $(’#password-1’).val();
var password2 = $(’#password-2’).val();
if(password1 != password2){
$parentTag.addClass(‘error’).append($error.clone().text(‘Hasla musza byc zgodne’));
}
}
});
if ($(‘span.error’).length > 0) {
$(‘span.error’).each(function(){
// Set the distance for the error animation
var distance = 5;
// Get the error dimensions
var width = $(this).outerWidth();
// Calculate starting position
var start = width + distance;
// Set the initial CSS
$(this).show().css({
display: ‘block’,
opacity: 0,
right: -start+‘px’
})
// Animate the error message
.animate({
right: -width+‘px’,
opacity: 1
}, ‘slow’);
});
} else {
$formId.submit();
}
// Prevent form submission
e.preventDefault();
});
$("#nazwa_uz").change(function()
{
var $parentTag = $(this).parent();
var msgbox = $("#status");
var email = $("#email").val();
var nazwa_uz = $("#nazwa_uz").val();
if(nazwa_uz.length > 5)
{
$("#status").html(’ Sprawdzanie dostępności.’);
$.ajax({
type: “POST”,
url: “check.php”,
data: “nazwa_uz=”+ nazwa_uz,
success: function(msg){
$("#status").ajaxComplete(function(event, request){
if(msg == ‘OK’)
{
msgbox.html(’ Dostępny’);
}
else
{
msgbox.html(msg);
$(’#submit’).attr(“disabled”, “true”);
}
});
}
});
}
else
{
$("#status").html(‘Za mało znaków’);
e.preventDefault();
}
return false;
});
});
Po kliknięciu submita skrypt sprawdza wszystkie pola. Jeżeli jest za mało znaków, czy niezgadzające się hasła to wyświetli się błąd. Natomiast nie wiem jak zrobić aby w przypadku zajętego loginu wyświetlał się taki sam format błędu czyli $parentTag.addClass(‘error’).append($error.clone().text(‘zajęty’));
… w taki sposób niestety nie działa poprawnie:
$("#status").ajaxComplete(function(event, request){
if(msg == ‘OK’)
{
msgbox.html(’ Dostępny’);
$parentTag.addClass(‘error’).append($error.clone().text(‘Zajęty’));
}
}