Уничтожение подсказок, отображаемых в другой всплывающей подсказке, отправка формы после проверки

Я обращаюсь к вам за помощью в первый раз, потому что я понятия не имею, как решить мою проблему. Я сделал форму, которая отображается в qtip. Эта форма имеет проверку jQuery, у которой есть собственные qtips при появлении ошибок проверки.

$(document).ready(function() {

var qtipForm = $('#RegisterAccount').clone();
qtipForm.attr('name', 'RegisterForm');

$('#addinstallerloginform').qtip({
    content: {
        text: qtipForm,
        title: {
            text: 'Zakładanie konta',
            button: true
        }
    },
    hide: false,
    show: {
        event: 'click'
    },
    position: {
        my: 'left top',
        at: 'right top'
    },
    events: {
        render: function (event, api) {
            $('form', this).submit(function (e) {
                $.ajax({
                    type: 'post',
                    data: {
                        "id": 2
                    },
                    dataType: 'json',
                    url: 'index.php?controller=Replacement&action=addloginform',
                    success: function (data) {
                        if (data.state == 'new') {
                            $('#addinstallerloginform').after(sendMail(data.login, data.password));
                        }
                        if (data.state == 'has') {
                            alert('Instalator ma już wygenerowane dane do logowania. Jego login to: ' + data.login);
                        }
                    }
                });

                e.preventDefault();
            });
        },
        show: function (event, api) {
            var myForm = $('form[name=RegisterForm]');
            myForm.validate({
                onsubmit: true,
                onkeyup: false,
                errorClass: 'error',
                validClass: 'valid',
                rules: {
                    email: {
                        required: true,
                        email: true
                    }
                },
                errorPlacement: function (error, element) {
                    console.log(error);
                    var elem = $(element),
                        corners = ['right center', 'left center'],
                        flipIt = elem.parents('span.right').length > 0;
                    if (!error.is(':empty')) {
                        elem.filter(':not(.valid)').qtip({
                            overwrite: false,
                            content: error,
                            position: {
                                my: corners[flipIt ? 0 : 1],
                                at: corners[flipIt ? 1 : 0],
                                viewport: $(window)
                            },
                            show: {
                                event: false,
                                ready: true
                            },
                            hide: false,
                            style: {
                                classes: 'qtip-red qtip-higher-zindex'
                            }
                        })
                            .qtip('option', 'content.text', error);
                    } else {
                        elem.qtip('destroy');
                    }
                },
                success: $.noop,
            })
        }
    }
});});

http://jsfiddle.net/qmqqa/ — вот как это работает.

  1. Как уничтожить qtips проверки ошибок после закрытия основного qtip, который содержит основную форму.
  2. Как выполнить POST 'index.php?controller=Replacement&action=addloginform' только после отсутствия ошибок проверки - теперь он выполняется каждый раз

Спасибо за помощь


person MEAT    schedule 31.05.2013    source источник
comment
Вы пробовали ответ ниже?   -  person Venkat.R    schedule 16.06.2013


Ответы (1)


1. Чтобы уничтожить проверку ошибки при закрытии основного qTip, вы можете использовать этот внутренний объект события.

    hide: function(event, api) {
      $('.qtip-red').qtip('hide');
    },
person Venkat.R    schedule 14.06.2013