G
g_parry author
I'm using 6.2 - soon to get 7 <img src='https://asprunner.com/forums/file.php?topicimage=1&fieldname=question&id=21141&image=1&table=forumtopics' class='bbc_emoticon' alt=';)' /> I have an add page where rows are hidden unless a field (distance) is less than 1.5
The distance is calculated (courtesy of Cristian Gilè) but the rows don't show if the criteria is met, if I type in the distance it works perfectly.
Any help with this appreciated - I really don't even pretend to know anything about coding. This is the code I am using in JavaScript OnLoad
var ctrl = Runner.getControl(pageid, "distance"); if(ctrl.getValue() < 1.51) pageObj.hideField("blue badge");
pageObj.hideField("bb evidence");
pageObj.hideField("criteria7_on_call");
pageObj.hideField("criteria6_journeys");
pageObj.hideField("criteria5_off_peak");
pageObj.hideField("criteria4_shift");
pageObj.hideField("Occupational Health Advice");
pageObj.hideField("Volunteer");
pageObj.hideField("Vol Letter"); ctrl.on('change', function(){ if (this.getValue() < 1.5){ pageObj.showField("blue badge");
pageObj.showField("bb evidence");
pageObj.showField("criteria7_on_call");
pageObj.showField("criteria6_journeys");
pageObj.showField("criteria5_off_peak");
pageObj.showField("criteria4_shift");
pageObj.showField("Occupational Health Advice");
pageObj.showField("Volunteer");
pageObj.hideField("Vol Letter");
} else { pageObj.hideField("blue badge");
pageObj.hideField("bb evidence");
pageObj.hideField("criteria7_on_call");
pageObj.hideField("criteria6_journeys");
pageObj.hideField("criteria5_off_peak");
pageObj.hideField("criteria4_shift");
pageObj.hideField("Occupational Health Advice");
pageObj.hideField("Volunteer");
pageObj.hideField("Vol Letter"); } });
var ctrlPlaceOfWork = Runner.getControl(pageid,'Place_of_Work');
var ctrlPostcode = Runner.getControl(pageid,'postcode');
var ctrlAddress1 = Runner.getControl(pageid,'address1');
var ctrlAddress2 = Runner.getControl(pageid,'address2');
var ctrlAddress3 = Runner.getControl(pageid,'address3'); var ctrlHlat = Runner.getControl(pageid,'hlat');
var ctrlHlon = Runner.getControl(pageid,'hlon');
var ctrlWlat = Runner.getControl(pageid,'wlat');
var ctrlWlon = Runner.getControl(pageid,'wlon'); var ctrlDistance = Runner.getControl(pageid,'distance');
var ctrlEmployer = Runner.getControl(pageid,'EMPLOYER');
var ctrlEAN = Runner.getControl(pageid,'EAN');
var ctrlSalaryDeduction = Runner.getControl(pageid,'SALARY_DEDUCTION');
var ctrlPAYG = Runner.getControl(pageid,'PAYG'); var ctrlPtype = Runner.getControl(pageid,'Permit_Type');
ctrlEAN.hide();
ctrlSalaryDeduction.hide();
ctrlHlat.hide();
ctrlHlon.hide();
ctrlWlat.hide();
ctrlWlon.hide(); function deg2rad(deg)
{
return deg * (Math.PI/180)
} function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2)
{
var R = 6371; // Radius of the earth in km
var dLat = deg2rad(lat2-lat1); // deg2rad below
var dLon = deg2rad(lon2-lon1);
var a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
;
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c; // Distance in km
d = d / 1.609344;
return d;
} ctrlPlaceOfWork.on('change',function(){ var ctrlPlaceOfWorkValue = this.getValue();
var ctrlPostcodeValue = ctrlPostcode.getValue();
var ctrlAddress1Value = ctrlAddress1.getValue();
var ctrlAddress2Value = ctrlAddress2.getValue();
var ctrlAddress3Value = ctrlAddress3.getValue(); if(ctrlPlaceOfWorkValue != '' && ctrlPostcodeValue != '' && (ctrlAddress1Value != '' || ctrlAddress2Value != '' || ctrlAddress3Value != ''))
{
$.ajax({
url: 'Permit_Application_add.php',
data: 'check_distance=1&postcode='+ctrlPlaceOfWorkValue,
type: 'POST',
dataType: 'json',
success: function(obj){
var distance_result = getDistanceFromLatLonInKm(obj.wlat,obj.wlon,ctrlHlat.getValue(),ctrlHlon.getValue()); if(distance_result < 1.5)
{
alert("Your home address is less than 1.5 miles from your work address, your application is likely to be rejected unless you meet additional criteria");
}
ctrlDistance.setValue(distance_result. toFixed(2));
}
});
}
}); //show Assignment number and option for salary deduction fields if MTW selected as employer ctrlEmployer.on('change',function()
{
var ctrlEmployerValue = this.getValue();
if(ctrlEmployerValue == 'MTW')
{
ctrlEAN.show();
ctrlSalaryDeduction.show();
}
else
{
ctrlEAN.hide();
ctrlSalaryDeduction.hide();
}
}); //pop-up info on priority permits if checkbox clicked ctrlPtype.on('change',function(){ var ctrlPtypeValue = this.getValue();
{
if(ctrlPtypeValue = 1)
{
alert("You can make your application using this form if you wish.");
}
}
});
// Place event code here.
// Use "Add Action" button to add code snippets.
|
|