我跟着Nadia在這裏jQuery override default validation error message display (Css) Popup/Tooltip like優秀的職位,它的工作很棒。但是我正在處理的表單通過ajax提交,表單上方的表格在成功時更新表格隨着每次提交而增長,並且表單的位置在頁面上滑落。 Nadia的解決方案在調用errorPlacement函數時提供了錯誤消息。問題是errorPlacement僅在第一次發生錯誤時被調用。當用戶糾正錯誤時,div被隱藏但不被移除。所以下一次驗證失敗時,validate函數只會替換div包裝器的html。因此絕對位置是關閉的,因爲它是在表被修改之前相對於輸入計算的。有沒有人遇到這個問題,並有一個解決方法?下面是我正在使用的錯誤位置函數,它是直接在鏈接文章中使用Nadia的解決方案。jQuery驗證errorPlacement問題時,添加工具提示樣式錯誤信息
errorPlacement: function(error, element) {
offset = element.offset();
error.insertBefore(element)
error.addClass('message'); // add a class to the wrapper
error.css('position', 'absolute');
error.css('left', offset.left + element.outerWidth());
error.css('top', offset.top);
}
是的,這是訣竅。謝謝! – 2010-10-08 13:59:54
我錯過了每次觸發驗證時都會調用的方法。這個解決方法使我的一天。太好了!謝謝! – metamagicson 2013-12-03 10:43:06