Prefilling form with JSON | Community
Skip to main content
February 21, 2018
Solved

Prefilling form with JSON

  • February 21, 2018
  • 5 replies
  • 4361 views

Hi

Currently i'm working on a case to prefill a form. With XML it works fine but with JSON it doesn't seems to work.

As reference I used this page.

Adobe Experience Manager Help | Prefill adaptive form fields

It seems that something is missing for prefilling a form with json.

Kind regards,

Christofhe

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by James_R_Green

Hi christofhed35451717,

It works pretty much the same as the XML example you have working.  You use the two functions:

guideBridge.getGuideState

guideBridge.restoreGuideState

To test this out, when previewing in inspector console do this:

window.guideBridge.getGuideState({

     success : function (guideResultObj) {

         jsonData = guideResultObj.data;

         console.log(JSON.stringify(jsonData,null,2));

     },

     error : function (guideResultObj) {

         // log error

     },reducedJSON:true

});

Copy the string produced and restore:

var jsonData = "guideState": {

  "guideDom": {

etc"; //output from getGuideState

guideBridge.restoreGuideState({

  guideState : jsonData.guideState,

  error : function (guideResultObject) {

  console.log('failed', guideResultObject);

  }

  });

Thanks,

James

5 replies

jagjeetthukral
February 21, 2018

Hi christofhed35451717​,

The instructions here work as is. I guess we will need some more information to help you debug. For starters you can compare the json you are populating your form with to the json created when you save the form.

You can get the json on form save easily via network panel.

While comparing you can have it either with or without afdata wrapper.

Cheers,Jagjeet Singh

AEM Forms Blog

February 21, 2018

Hi jagjeetthukral

This is the format of my json

{

   "afData": {

      "afUnboundData": {

         "data": {

            "textbox": "testing"

         }

      },

      "afBoundData": {

         "data": null

      }

   }

}

Probably this is not right?

Kind reagrds,

Christofhe

jagjeetthukral
February 21, 2018

A few questions to identify the issue:

1. Is your forms Json Model Based?

2. Is the name of field which your are trying to populate "textbox"

If answer to both the question is yes, then please try below JSON

{

   "afData": {

      "afUnboundData": {

         "data": {

            "textbox": "testing"

         }

      }

}

Hope this helps !!!

Cheers,

Jagjeet Singh

AEM Forms Blog

James_R_Green
James_R_GreenAccepted solution
February 21, 2018

Hi christofhed35451717,

It works pretty much the same as the XML example you have working.  You use the two functions:

guideBridge.getGuideState

guideBridge.restoreGuideState

To test this out, when previewing in inspector console do this:

window.guideBridge.getGuideState({

     success : function (guideResultObj) {

         jsonData = guideResultObj.data;

         console.log(JSON.stringify(jsonData,null,2));

     },

     error : function (guideResultObj) {

         // log error

     },reducedJSON:true

});

Copy the string produced and restore:

var jsonData = "guideState": {

  "guideDom": {

etc"; //output from getGuideState

guideBridge.restoreGuideState({

  guideState : jsonData.guideState,

  error : function (guideResultObject) {

  console.log('failed', guideResultObject);

  }

  });

Thanks,

James

April 23, 2021
Can we prefill Attachment through json in aem forms by writing java prfill class?
April 23, 2021

You want to prefill the attachment when it is added to the form?