Support » Plugin: Advanced Custom Fields: reCAPTCHA Field » Post not publishing

  • Resolved rsdkrasen

    (@rsdkrasen)


    Great plugin, however i have an urgent issue,
    i’m using acf form in the front-end with a recaptcha field and the form wont publish. Its stuck on the submit button endlessly showing the loading animation.
    If i disable the recaptcha everything works normal, when recaptcha is enabled i get the following error in jquery:

    Uncaught TypeError: Cannot use ‘in’ operator to search for ‘length’ in 0

    Please help me.

    https://wordpress.org/plugins/advanced-custom-fields-recaptcha-field/

Viewing 15 replies - 1 through 15 (of 19 total)
  • It used to work perfect a week or two ago, im not sure if update to your plugin or to wordpress is the issue

    The issue is with 4.3 wordpress update,
    I have a second site with ACF and recaptcha which worked fine,
    Updated to 4.3 and the same problem appeared – stuck on loading animation and

    Uncaught TypeError: Cannot use ‘in’ operator to search for ‘length’ in 0

    I was having this issue but wasn’t even running ACF. After MUCH searching and tearing my hair out, I found someone who suggested running a version of jquery other than 2.1.4 or 1.11.3. They’re the most recent versions so you’re likely running one.

    I switched to 2.1.3 and the problem went away. This isn’t the best fix in the world but at least it worked.

    Plugin Author Irvin Lim

    (@irvinlim)

    Hi all, I’m still investigating. I can’t replicate the issue even after updating to WordPress 4.3. Perhaps you can let me know what themes or other plugins you are using that may affect it? Or you could provide me with a URL to your site so I can investigate further.

    I’m using ENFOLD theme on both sites,
    you can check it here on my test environment, it has only ACF 5.2.7 and your plugin active, and uses ENFOLD ( http://themeforest.net/item/enfold-responsive-multipurpose-theme/4519990 )

    acf form with recaptcha :
    http://badass.hol.es/registration/

    Hi! I have the same problem.
    Did you solved it?

    I would like to add my voice too… I’m getting the same error and Advanced Custom Fields is my only plugin. I just upgraded today to WordPress 4.3.

    I have downgrade my wordpress to 4.2.4 version and all work.
    But it’s not a problem solving 🙂

    Latest jQuery version 1.11.3 is what causes the issue. I had to downgrade jquery to 1.11.2 by adding this to functions.php:

    add_action( ‘wp_print_scripts’, ‘de_script’, 100 );

    function de_script() {
    wp_dequeue_script( ‘jquery’ );
    wp_deregister_script( ‘jquery’ );

    wp_register_script(‘jquery’, “http” . ($_SERVER[‘SERVER_PORT’] == 443 ? “s” : “”) .
    “://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js”, false, null);
    wp_enqueue_script(‘jquery’);
    }

    rsdkrasen, doesn’t work…

    Try an older jquery version

    rsdkrasen I think, your function doesn’t work. In source page I see only new jquery version

    Validated that changing back to jQuery 1.11.2 worked. But yes the code above will not work.

    The issue is within the admin area. Add this code anywhere in your functions.php for now until ACF can get the culprit corrected.

    function cg_revert_jquery_version_admin() {
    	wp_deregister_script( 'jquery' );
    	wp_register_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js');
    	wp_enqueue_script( 'jquery' );
    }
    add_action( 'admin_enqueue_scripts', 'cg_revert_jquery_version_admin' );

    Actually quick update. Doing the above will break Akismet… Having a hard time getting around that at the moment. So the work around above isn’t fool proof. Here’s some details that hopefully will lead to a fix.

    https://github.com/jquery/jquery/issues/2242

    ok, I found where the issue is within ACF Pro at least. This theme I inherited decided to load the plugin in a very strange way making upgrading difficult so the code might be a version or two behind…

    Anyways, in acfpro/js/input.js:5144 within the validation_complete we have $.each( json.errors, function( k, item ){ ... }

    The json.errors returns 0 causing the isArrayLike() function to result in the error. I added an if statement above that code to return the json object early if json.errors equaled 0, that fixed the problem for me. Don’t forget to minify your code or else ACF won’t load it without further customizations!

    Here’s a snippet of that code – https://gist.github.com/colegeissinger/701df3e5be49fc7e5be2

Viewing 15 replies - 1 through 15 (of 19 total)
  • The topic ‘Post not publishing’ is closed to new replies.