Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page loads*/
console.log("onload");
});
Qualtrics.SurveyEngine.addOnReady(function()
{
/* Identify the address fields by number below */
addressLineField = "QR~"+this.questionId+"~3";
localityField = "QR~"+this.questionId+"~5";
stateField = "QR~"+this.questionId+"~6";
postcodeField = "QR~"+this.questionId+"~7";
var TempKey = "YOUR_REQUEST_KEY_GOES_HERE";
/* No changes below this line */
console.log("onready - this.questionId=", this.questionId);
addressLineFieldText = addressLineField+"~TEXT";
console.log("addressLineFieldText=", addressLineFieldText);
localityFieldText = localityField+"~TEXT";
console.log("localityFieldText=", localityFieldText);
stateFieldText = stateField+"~TEXT";
console.log("stateFieldText=", stateFieldText);
postcodeFieldText =postcodeField+"~TEXT";
console.log("postcodeFieldText=", postcodeFieldText);
jQuery(function($){
$.getScript('https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.js',function($){
var $x = jQuery.noConflict();
$x.getScript('https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js',function ($){
$x("head").append("");
var css = $x("head").children(":last");
css.attr({ rel: "stylesheet",type: "text/css", href: "https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.css"});
$x('[name="'+postcodeFieldText+'"]').after('
');
var Selectedval = "";
$x('[name="'+addressLineFieldText+'"]').autocomplete(
{
source: function( request, response )
{
Selectedval = "";
$x.ajax(
{
url: "https://kleber.datatoolscloud.net.au/KleberWebService/DtKleberService.svc/ProcessQueryStringRequest",
dataType: "jsonp",
type: "GET",
contentType: "application/json; charset=utf-8",
data: {OutputFormat:"json", ResultLimit:10, AddressLine:request.term, Method:"DataTools.Capture.Address.Predictive.AuPaf.SearchAddress", RequestKey:TempKey},
success: function( data )
{
response( $x.map( data.DtResponse.Result, function( item )
{
var Output = (item.AddressLine + ", " + item.Locality + ", " + item.State + ", " + item.Postcode);
return {label: Output,value: Output,Output: Output, RecordId: item.RecordId,AddressLine: item.AddressLine};
}));
}
});
},
select: function( event, ui )
{
$x.ajax(
{
url: "https://kleber.datatoolscloud.net.au/KleberWebService/DtKleberService.svc/ProcessQueryStringRequest",
dataType: "jsonp",
crossDomain: true,
data: {OutputFormat:"json", RecordId:ui.item.RecordId, Method:"DataTools.Capture.Address.Predictive.AuPaf.RetrieveAddress", RequestKey:TempKey},
success: function (data)
{
$x.map(data.DtResponse.Result, function (item)
{
$x('[name="'+addressLineFieldText+'"]').val(ui.item.AddressLine);
$x('[name="'+localityFieldText+'"]').val(item.Locality);
$x('[name="'+stateFieldText+'"]').val(item.State);
$x('[name="'+postcodeFieldText+'"]').val(item.Postcode);
$x('[name="QRQID1Add"]').css('color','#7CFC00');
$x('[name="QRQID1Add"]').text(function(index) { return "Valid";});
console.log(item.DPID);
Selectedval = item.DPID;
});
}
});
},
close: function(event, ui)
{
if(Selectedval == "")
{
$x('[name="QRQID1Add"]').css('color','#FF0000');
$x('[name="QRQID1Add"]').text(function(index) { return "Invalid";});
$x('[name="'+localityFieldText+'"]').val("");
$x('[name="'+stateFieldText+'"]').val("");
$x('[name="'+postcodeFieldText+'"]').val("");
}
}
});
});
});
});
});
Qualtrics.SurveyEngine.addOnUnload(function()
{
/*Place your JavaScript here to run when the page is unloaded*/
});