Support » Plugin: Caldera Forms - More Than Contact Forms » Loading Form via Ajax

  • Hey, guys!

    First, congrats for the plugin, it keeps getting better!

    Currently I’m working in a site that loads all the content via Ajax. There’s a “Contact” page that I would like to have a Caldera Forms form. But I know that the plugin loads assets based on the shortcode being at the page.

    My question is: is there any method that we could use to get all those assets via an Ajax call? This way we could append the required files to the body when the page is loaded.

    Thanks for any tip!

    https://wordpress.org/plugins/caldera-forms/

Viewing 11 replies - 1 through 11 (of 11 total)
  • Hi Diego!
    Have you found a solution? I have the same problem with CF7. Need a WP form plugin which can executet by an ajax call too.

    Thx for your help!

    Thread Starter Diego de Oliveira

    (@diegoliv)

    Hi, mbsouth,

    I didn’t found a good solution. What I was doing was loading all CF assets manually, it kind of worked but wasn’t a elegant solution. But I don’t have the code anymore, the client ended up using Wufoo with an iframe.

    Plugin Contributor David Cramer

    (@desertsnowman)

    You can do wp_enqueue_script( 'cf-dynamic' ); that will initiate the dynamic loader for CF, it should load the required scripts when a form is loaded.

    you can also load the form html dynamically on URI /cf-api/<form_id>/

    Thread Starter Diego de Oliveira

    (@diegoliv)

    Wow, that’s new! Good to know that, David, thanks!

    Hi David,

    Having the same issues too. I’m loading a page via ajax which I included a form in the template by calling do_shortcode(). The form shows and assets such as numeric range and datepickers are working, but on form submit, it reloads to a new empty page showing the json for a successful for submission.

    These are what I have tried but it’s still having the same problem:
    – I have tried including wp_enqueue_script( ‘cf-dynamic’ ); in my functions.php.

    – I have also tried to load via ajax the api URI /cf-api/<form_id>/ through javascript, instead of using the shortcode to load it in the php template.

    Is there anything else that should be done so that the ajax submission works properly?

    Having the same problem has @bucketpress, is there way to get the submission to not trigger a page reload on this situation?

    Plugin Contributor David Cramer

    (@desertsnowman)

    @luis are you getting code after the current update?

    Hi David, yes this is with the latest version.

    I actually just installed on this particular project as I am trying to convince the client to switch from gravity forms to Caldera.

    What happens in my case is pretty much the same das @bucketpress described. I added wp_enqueue_script( 'cf-dynamic' ) which also makes the form styling available on the ajax page where the form is displayed, but when I submit the form the entire page gets reloaded loosing the state it had before.

    Thanks for any help, and congrats on the awesome release btw.

    @david, any chance you could provide some feedback?

    @david, having tested loading the form via the API I get the same behaviour. The form is properly rendered (the assets were loaded with wp_enqueue_script( 'cf-dynamic' ); but when I submit the form it still triggers a full page reload.

    The form data does get submitted though, and the URL is appended with ?cf_su=1&cf_id=10

    Digging through the code I’ve noticed that neither the form or the submit button have js events attached to them, is this normal?

    Yeah the form lacks initialization it seems. Conditionals are not working either (show field2 when field1 is selected etc). Datepicker is working though.

    is there a public initialization method?
    e: found a solution in my case: window.calders_forms_init_conditions()

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘Loading Form via Ajax’ is closed to new replies.