Fork me on GitHub

External Data Load

You can load in data from an external API as a result of values entered in a form.

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons/font/bootstrap-icons.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap/dist/css/bootstrap.min.css">
<script src="https://cdn.form.io/js/formio.embed.js"></script>
<div id="formio"></div>
Formio.createForm(document.getElementById('formio'), 'https://examples.form.io/customerload')
  .then(function(form) {
    // Triggered when they click the submit button.
    form.on('change', function(event) {
      if (event.changed && event.changed.component.key === 'customerNumber' && event.changed.value) {
        Formio.fetch('https://examples.form.io/customers/submission?data.number=' + event.changed.value, {
          headers: {
            'content-type': 'application/json'
          },
          mode: 'cors',
        })
        .then(function(response) {
          response.json().then(function(result) {
            if (Array.isArray(result) && result.length > 0) {
              var submission = { data: event.data };
              submission.data.name = result[0].data.name;
              submission.data.phoneNumber = result[0].data.phonenumber;
              form.submission = submission;
            }
          });
        });
      }
    });
  });

Result