2

In my magento site I have enabled Captcha for Forgot Password form of custom theme, but when I try to reset password with providing correct captcha code in the field, even then it shows "Incorrect Captcha" after refreshing & redirecting to same page.

I'm using magento-2-social-login

No warnings/errors either in the client or server.

Any suggestions please?

enter image description here

3

After every action Magento does refresh captcha session so if any Ajax URL run and you open your forgot password then at that time captcha session will be changed that's why you are getting error. Just click on reload captcha button and then refill again to proceed successfully.

You can add scripts to reload captcha when that from open so you will not get error again.

You can manually trigger reload by this

$('.action.captcha-reload'). trigger ('click');
1

I've adding custom script that can be reloading the captcha image.

In:

/app/design/frontend/name_space/theme_name/Magento_Customer/templates/form/forgotpassword.phtml

Custom script:

jQuery( "captcha-button-selector" ).trigger( "click" );

Then it's solved my problem.

@Kumar thanks.

  • 1
    Welcome @mahmoudismail I also edited my answer. – Kumar M Jan 24 '18 at 12:14
1

Here is the whole script. I have added jQuery bind concept to reload captcha when forgot password page is loaded.

Here is the path to add the below script.

/app/design/frontend/NAMESPACE/YOURTHEME/Magento_Customer/templates/form/forgotpassword.phtml

<script>
require(["jquery"], function ($) {
    // Reload captcha when page loaded
    $(window).bind("load", function() {
        // Use setTimeout to trigger captcha reload.
        setTimeout(function () {
            $(".action.captcha-reload").trigger("click");
        }, 2000);
    });
});

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.