2012-04-16 77 views
2

我想要做的是以下幾點。我有一個圖像顯示懸停的工具提示。當一個字段沒有通過驗證時,我想在新的段落中顯示默認的錯誤信息以及圖像的標題。工具提示圖像應該隱藏起來。當字段通過驗證時,應該再次隱藏默認錯誤消息(默認行爲),我的段落應該隱藏,並且應該再次顯示工具提示圖像。jQuery驗證:顯示/隱藏默認元素以外的自定義元素

所以,當一個字段沒有通過驗證:
- 默認驗證錯誤消息
- 說明圖像稱號

當某個字段通過驗證:
- 說明圖像

我得到了'失敗的驗證'部分,但是當字段通過驗證時,工具提示圖像的標題仍然顯示,工具提示圖像被隱藏。所以我基本需要的是當某個字段通過驗證時對函數的回調。

這是我到目前爲止有:

$(document).ready(function(){ 

$('form#saveform').validate({ 

    ignore: ":hidden", 
    errorPlacement: function (error, element) { 

     var error_td = element.parent('td').next('td'); 
     var tooltip_img = error_td.find('img.tooltip'); 

     error_td.append(error); 
     error_td.append('<p class="notice">' + tooltip_img.attr('oldtitle') + '</p>'); 

     tooltip_img.hide(); 

    } 

}); 

}); 

誰能幫我做這項工作?

+2

你能把我們鏈接到一個jsFiddle,或粘貼在相關的html代碼嗎?如果發現它出現在您的元素選擇中,現在將無法找到錯誤。 – BenjaminRH 2012-04-16 13:38:41

+0

嗨本傑明,謝謝你的回覆。這並不是說這段代碼不起作用。我只想添加一個方法來調用一個函數,當一個字段被標記爲有效的時候,我會顯示/隱藏正確的元素。上面的代碼隱藏了工具提示圖片,在特定表單字段旁邊的列中顯示錯誤和圖片標題。我只需要修復上面代碼中尚未捕獲的「有效部分」。 – ev8 2012-04-16 14:03:43

回答

1

我不認爲驗證插件將有一個回調時驗證成功。雖然它有回調來應用和刪除錯誤突出顯示元素。 所以你可以做的是:

$('form#saveform').validate({ 
    highlight: function(element, errorClass, validClass) { 
    // add error, hide image 
    }, 
    unhighlight: function(element, errorClass, validClass) { 
    // remove error, show image 
    } 
}); 
+0

謝謝rucsi,我已經使用你提供的方法。 – ev8 2012-04-17 07:18:49

0

啊 - 你想要的success鉤:

$(document).ready(function(){ 

    $('form#saveform').validate({ 

     ignore: ":hidden", 
     errorPlacement: function (error, element) { 

      var error_td = element.parent('td').next('td'); 
      var tooltip_img = error_td.find('img.tooltip'); 
      error_td.append(error); 
      error_td.append('<p class="notice">' + tooltip_img.attr('oldtitle') + '</p>'); 
      tooltip_img.hide(); 

     } 
     success: function() { 
      // Your success code here... 
     } 

    }); 

}); 
+0

我的確曾嘗試過,但只要創建成功鉤子,它就會在所有必填字段(即有效或無效! 。 – ev8 2012-04-16 14:21:03