2012-10-16 39 views
1

我實施了Recaptcha銀條,它似乎工作。 唯一的問題是,formular和captcha代碼是在頁面的最後,如果你輸入一個錯誤的代碼,然後頁面重新加載並跳回到頂部,以便用戶不會看到公式和驗證碼代碼了。reCaptcha和銀條

如何在輸入錯誤的驗證碼後讓窗口不滾動到頂部?

回答

4

由於HTTP規範不允許包含錨標記的服務器重定向,因此您需要使用JavaScript來完成此操作。由於該字段在標準SilverStripe表單呈現中使用驗證消息突出顯示,因此您可以在提交的表單再次加載後使用它來確定字段的狀態。

jQuery(document).ready(function() { 
    var captchaEl = jQuery('#MyCaptcha'); 
    if(captchaEl.find('.message.required').length) { 
     window.scrollTo(0, captchaEl.scrollTop()); 
    } 
}); 
+1

[偏離主題]嘿,很高興在這裏看到一些銀河系核心開發人員在stackoverflow!豎起大拇指;) – schellmax

+0

我當然必須在這裏同意,歡迎ingo <3 – Zauberfisch

+0

嘿Ingo,thx爲您的答案。 Unfortunatley這些狀態的css類似乎只出現標準輸入字段,但不適用於recpatcha字段。 – Keen