Support

Account

Home Forums Bug Reports 5.7 – AJAX validation broken on acf_form() front-end Reply To: 5.7 – AJAX validation broken on acf_form() front-end

  • I’m running into the same problem with Version 5.8.1 (I keep being sent to the WordPress error page when I hit submit on a form that is loaded through AJAX, if some of the required fields are not filled out).

    I found part of a solution. AJAX validation does work for required fields if I add acf_form() somewhere on the page itself.

    You can’t only have acf_form() in an AJAX action. It has to be on the page also. Otherwise it seems acf_form_head() would just assume there is no acf_form() on the page at all. I guess that’s why AJAX validation didn’t work.

    I don’t actually want there to be two forms on the page, so I just put acf_form() in the page template like this:
    <?php acf_form(array('form' => false,)); ?>

    So that this extra acf_form() is invisible on the page, and the acf_form() in my AJAX action is the only one that actually submits any data.

    Now another problem: on submit, I’m redirected to (my-site-url)/wp-admin/admin-ajax.php?updated=true, instead of staying at the same url. The data submitted is still saved, though.

    Adding 'return' => '(url-to-redirect-to)', to my AJAX acf_form() does work, so at least there is a way to cobble together something that looks okay. All I have to do is add a redirect to a thank you page.