2016-11-17 37 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

嘗試通過完全刪除隱藏屬性本身。你可以在jsfiddle/jsbin中複製,並給予 –

+0

https://jsbin.com/saposudoqe/edit?html,css,js,console,output 看看吧! –