Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: formularz jquery - problem
Forum PHP.pl > Forum > XML, AJAX
piksel-2
$('.btn-submit').click(function(e){
var $formId = $(this).parents('form');
var formAction = $formId.attr('action');
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
var $error = $('<span class="error"></span>');
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('<img src="http://www.axialis.com/objects/ip_icon_02_Ok.png">&nbsp;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('<img src="obrazki/yes.png"> <font color="Green"> Dostępny</font>');
}
else
{
msgbox.html(msg);
$('#submit').attr("disabled", "true");

}
});
}
});
}

else
{
$("#status").html('<font color="#cc0000">Za mało znaków</font>');
e.preventDefault();
}
return false;
});
});
</script>

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('<img src="obrazki/yes.png"> <font color="Green"> Dostępny</font>');
$parentTag.addClass('error').append($error.clone().text('Zajęty'));
}
}

k_@_m_i_l
Spójrz ze 3 razy na ten kod, który poniżej zacytowałem i zobacz co Ci tam nie gra. Te błędy aż sie w oczy rzucają.


Cytat(piksel-2 @ 7.06.2012, 20:33:11 ) *
$("#status").ajaxComplete(function(event, request){
if(msg == 'OK')
{
msgbox.html('<img src="obrazki/yes.png"> <font color="Green"> Dostępny</font>');
$parentTag.addClass('error').append($error.clone().text('Zajęty'));
}
}


I używaj bbcode !
piksel-2
Sam chyba nie dojdę w czym cała rzecz, zwłaszcza że próbowalem już kilku sposobów. Tak więc w dalszej chwili proszę o pomoc w rozwiązaniu problemu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.