Hello again. I'm trying to use a third party service to look up a New Zealand address from a text input field and return an NZ census identifier.
I've taken the original code from the service addressfinder.nz, and it is working fine in this codepen https://codepen.io//pen/vPMBJv, however I'm in no way smart enough to get this working in Qualtrics. If anyone had any pointers for me to research I would be grateful.
I've used my own API key, but the demo key should work. And I've tried referring strait to the input ID e.g. 'document.getElementById("QR~QID4")'.
Thank you!
Dan
Qualtrics.SurveyEngine.addOnload(function() {
var widget, initAddressFinder = function() {
widget = new AddressFinder.Widget(
document.getElementById("QR~"+this.questionId),
'ADDRESSFINDER_DEMO_KEY',
'NZ', {
"address_metadata_params": {
"census": 2018
}
}
);
widget.on('result:select', function(fullAddress, metaData) {
var selected = new AddressFinder.NZSelectedAddress(fullAddress, metaData);
// TO DO - You will need to update these ids to match those in your form
document.getElementById("QR~"+this.questionId).value = metaData.meshblock;
});
};
function downloadAddressFinder() {
var script = document.createElement('script');
script.src = 'https://api.addressfinder.io/assets/v3/widget.js';
script.async = true;
script.onload = initAddressFinder;
document.body.appendChild(script);
};
document.addEventListener('DOMContentLoaded', downloadAddressFinder);
})();
Page 1 / 1
I've gotten this to work, I couldn't ever see the function downloadAddressFinder loading so suspected that the document.addEventListener was the problem. By removing function downloadAddressFinder it now works:
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page loads*/
var inputId = 'QR~' + this.questionId;
var widget, initAddressFinder = function() {
widget = new AddressFinder.Widget(
document.getElementById(inputId),
'MY_KEY',
'NZ', {
"address_metadata_params": {
"census": 2018
}
}
);
widget.on('result:select', function(fullAddress, metaData) {
var selected = new AddressFinder.NZSelectedAddress(fullAddress, metaData);
// TO DO - You will need to update these ids to match those in your form
document.getElementById(inputId).value = metaData.meshblock;
});
};
var script = document.createElement('script');
script.src = 'https://api.addressfinder.io/assets/v3/widget.js';
script.async = true;
script.onload = initAddressFinder;
document.body.appendChild(script);
});
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page loads*/
var inputId = 'QR~' + this.questionId;
var widget, initAddressFinder = function() {
widget = new AddressFinder.Widget(
document.getElementById(inputId),
'MY_KEY',
'NZ', {
"address_metadata_params": {
"census": 2018
}
}
);
widget.on('result:select', function(fullAddress, metaData) {
var selected = new AddressFinder.NZSelectedAddress(fullAddress, metaData);
// TO DO - You will need to update these ids to match those in your form
document.getElementById(inputId).value = metaData.meshblock;
});
};
var script = document.createElement('script');
script.src = 'https://api.addressfinder.io/assets/v3/widget.js';
script.async = true;
script.onload = initAddressFinder;
document.body.appendChild(script);
});
Leave a Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.