2016-11-17 14 views
0

Всплывающая подсказка не исчезает после проверки ввода, она все еще отображается.Я использую qtip2 с проверкой jQuery, подсказка не исчезает после проверки входов

Мой код ниже, пожалуйста, помогите мне найти, как я могу его удалить после заполнения или проверки моих входов.

$('#signupForm').validate({ 
      rules: { 
       username: { 
       required: true, 
       minlength: 3 
       }, 
       phone:{ 
       tel: true, 
       required: true 
       }, 
       message: { 
       required: true, 
       minlength:2 
       }, 
       email: { 
       required: true, 
       email: true 
       }, 
       captcha: { 
       required: true, 
       minlength: 5 
       } 
      }, 
      errorPlacement: function (error, element) { 
        flipIt = $(element).parents('div.left').length > 0, 
        position = { 
         at: 'center center', 
         my: 'top top' 
        }, 
        offset = flipIt ? 6 : 35; 
       $(element).filter(':not(.valid)').qtip({ 
        overwrite: false, 
        content: error, 
        position: position, 
        show: { 
         event: false, 
         ready: true 
        }, 
        hide: false, 
        style: { 
         classes: 'ui-tooltip-dark ui-tooltip-shadow', 
         tip: { 
          corner: true, 
          offset: offset 
         } 
        } 
       }).qtip('option', 'content.text', error); 
      } , 
      submitHandler: function (form) { 
        $(".contact-button").val("Please Wait..."); 
        $(".contact-button").prop('disabled', true); 
        $.ajax({ 
        type: "POST", 
        url: "ajax/contact_page.php", 
        data: 'username='+$("#username").val()+'&email='+$("#email").val()+'&phone='+$("#phone").val()+'&message='+$("#message").val()+'&captcha='+$("#captcha").val(), 
        timeout: 3000, 
        success:function(data){ 
         $("#mail-status").html(data); 
         $("#signupForm").find("input, textarea").val(""); 
         $(".contact-button").val("Sent"); 
         setTimeout(function() { 
          $('#signupForm').find('.valid').qtip('destroy'); 
         }, 1); 
         refreshCaptcha(); 
         setTimeout(function() { 
         $(".contact-button").prop('disabled', false); 
         $("#mail-status").text(""); 
         $(".contact-button").val('Click to Send'); 
         }, 10000); 
        }, 
        error: function() {alert('failed');} 
        }); 
      } 
     }); 

В этом всякий раз, когда я пытаюсь заполнить входы он показывает сообщение об ошибке, как подсказке, но если я заполняю это право (действительно) он по-прежнему появляется на «кончике». Как это можно решить?

ответ

1

в настоящее время его изменение

hide: false 

это:

hide: { when: { event: 'mousemove' }, 
      delay: 2000, 
      effect: function() { $(this).qtip("destroy"); } 
     } 
+0

Он работает ........... но есть другая проблема возникает, она разрушила сообщение всплывающей подсказки но все же показывает окно подсказки (пустой ящик) –

+0

попробуйте полностью удалить свойство hide. Можете ли вы воспроизвести в jsfiddle/jsbin и дать –

+0

https://jsbin.com/saposudoqe/edit?html,css,js,console,output Посмотрите на него! –