From fa0a3aefaef9c1932036cb25ea8aa9441a65624e Mon Sep 17 00:00:00 2001 From: Qiang Xue Date: Sat, 13 Dec 2014 19:53:18 -0500 Subject: [PATCH] Fixes #6467: `ActiveForm` will scroll to the nearest visible element when the first error input is hidden --- framework/CHANGELOG.md | 1 + framework/assets/yii.activeForm.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index a10237c361..4dfbdf391b 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -5,6 +5,7 @@ Yii Framework 2 Change Log ----------------------- - Bug #6404: advanced application template `Alert` widget was generating duplicate IDs in case of multiple flashes (SDKiller) +- Enh #6467: `ActiveForm` will scroll to the nearest visible element when the first error input is hidden (newartix) 2.0.1 December 07, 2014 diff --git a/framework/assets/yii.activeForm.js b/framework/assets/yii.activeForm.js index 30c868fcc7..6a3af320b3 100644 --- a/framework/assets/yii.activeForm.js +++ b/framework/assets/yii.activeForm.js @@ -487,7 +487,7 @@ updateSummary($form, messages); if (errorInputs.length) { - var top = $form.find(errorInputs.join(',')).first().offset().top; + var top = $form.find(errorInputs.join(',')).first().closest(':visible').offset().top; var wtop = $(window).scrollTop(); if (top < wtop || top > wtop + $(window).height) { $(window).scrollTop(top);