Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

How to create form data model using json schema and dynamically populate drop down values for fields country,state,city

jhansi_lakshmik
Level 2
Level 2

Hi,

can  anyone suggest how to create a form data model using json in AEM forms 6.5 and how to populate dynamic drop down values for the Adaptive form fields country ,state, city assuming the json contains country,state,city values,is there any way we can achieve this without using servlets.

Thanks in advance,

Jhansi.

1 Accepted Solution
Mayank_Gandhi
Correct answer by
Community Advisor
Community Advisor

RESTful web service can be described using Swagger specifications in JSON or YAML format in a Swagger definition file. To configure RESTful web service in AEM cloud services, ensure that you have either the Swagger file on your filesystem or the URL where the file is hosted.

Here is a simple way to initialize drop down from JSON value: Put this script on form initialise and change the dropdown item name as per your form.

console.log('dropdown init ');

var text = '{"cars":[ "Ford", "BMW", "Fiat" ]}';

var jsonParsed = JSON.parse(text);

console.log(jsonParsed);

var DDL = [];

for (i = 0; i < jsonParsed.cars.length; i++) {

    var idItem = jsonParsed.cars[i];

  console.log(" item idteam"+idItem);

    var nomeAzienda = jsonParsed.cars[i];

  console.log("nomeAzienda"+nomeAzienda);

    DDL.push(idItem + " = " + nomeAzienda);

}

  dropdownlist1562834391516.items = DDL;

  console.log(dropdownlist1562834391516.items);

  console.log("end of init function");

View solution in original post

4 Replies
Mayank_Gandhi
Community Advisor
Community Advisor

Hi Jhansi,

Please refer this old thread where I have discussed similar scenario:

Re: AEM 6.3 Forms - How can I populate a dropdownlist from database?

jhansi_lakshmik
Level 2
Level 2

Hi Mayank Gandhi,

Thanks for the prompt response, we are not connecting to any database , can you suggest how to populate the dynamic drop down list based on the json as a data model

Thanks in advance,

Jhansi.

Mayank_Gandhi
Community Advisor
Community Advisor

Give me some time I will share the screenshot with you on the approach.

Mayank_Gandhi
Correct answer by
Community Advisor
Community Advisor

RESTful web service can be described using Swagger specifications in JSON or YAML format in a Swagger definition file. To configure RESTful web service in AEM cloud services, ensure that you have either the Swagger file on your filesystem or the URL where the file is hosted.

Here is a simple way to initialize drop down from JSON value: Put this script on form initialise and change the dropdown item name as per your form.

console.log('dropdown init ');

var text = '{"cars":[ "Ford", "BMW", "Fiat" ]}';

var jsonParsed = JSON.parse(text);

console.log(jsonParsed);

var DDL = [];

for (i = 0; i < jsonParsed.cars.length; i++) {

    var idItem = jsonParsed.cars[i];

  console.log(" item idteam"+idItem);

    var nomeAzienda = jsonParsed.cars[i];

  console.log("nomeAzienda"+nomeAzienda);

    DDL.push(idItem + " = " + nomeAzienda);

}

  dropdownlist1562834391516.items = DDL;

  console.log(dropdownlist1562834391516.items);

  console.log("end of init function");

View solution in original post