Задать вопрос

Как переписать скрипт под работу с тремя формами?

Есть скрипт.
работает с двумя формами... Никак не могу переписать его под работу с тремя формами...

jQuery(document).ready(function ($) {
    // Display form from link inside a popup
	$('#pop_login, #pop_signup').live('click', function (e) {
        formToFadeOut = $('form#register');
        formtoFadeIn = $('form#login');
        if ($(this).attr('id') == 'pop_signup') {
			formToFadeOut = $('form#login');
            formtoFadeIn = $('form#register');
			
        }

	
        formToFadeOut.fadeOut(500, function () {
            formtoFadeIn.fadeIn();
        })
		
        return false;
    });


    // Show the login/signup popup on click
    $('#show_login, #show_signup).on('click', function (e) {
        $('body').prepend('<div class="login_overlay"></div>');
        if ($(this).attr('id') == 'show_login') 
			$('form#login').fadeIn(500);
        else
			$('form#recover').fadeIn(500);
		
        e.preventDefault();
    });

	// Perform AJAX login/register on form submit
	$('form#login, form#register').on('submit', function (e) {
        if (!$(this).valid()) return false;
        $('p.status', this).show().text(ajax_auth_object.loadingmessage);
		action = 'ajaxlogin';
		username = 	$('form#login #username').val();
		password = $('form#login #password').val();
		email = '';
		security = $('form#login #security').val();
		if ($(this).attr('id') == 'register') {
			action = 'ajaxregister';
			username = $('#signonname').val();
        	email = $('#email').val();
        	security = $('#signonsecurity').val();	
		}
		
		ctrl = $(this);
		$.ajax({
            type: 'POST',
            dataType: 'json',
            url: ajax_auth_object.ajaxurl,
            data: {
                'action': action,
                'username': username,
                'password': password,
				'email': email,
                'security': security
            },
            success: function (data) {
				$('p.status', ctrl).text(data.message);
				if (data.loggedin == true) {
                    document.location.href = ajax_auth_object.redirecturl;
                }
            }
        });
        e.preventDefault();
    });
	
	// Client side form validation
    if (jQuery("#register").length) 
		jQuery("#register").validate();
    else if (jQuery("#login").length) 
		jQuery("#login").validate();
});

Кто подскажет как сделать?*)
  • Вопрос задан
  • 2318 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
bobrov1989
@bobrov1989
Front-end Dev
передавать селектор формы внутрь обработчика, передавать в аякс запросы обьекты с данными.
П.С. метод live - depricated - можно использовать вместо .live('click' и .on('click' - .click()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы