Skip to main content

Smart JavaScript/hidden radio button to disable browser back button

Note: please post a one liner if this post was helpful to you.

I am finally able to figure out how to code a smart tag to disable the browser back button for quiz’s.

I searched long and hard to find a similar solution but never was able to find one but now it seems I have the perfect solution where it blocks users from hitting the back button in the browser and changing their answers in the quiz questions by selecting a different radio button from previous submit action.

This solution basically is half JavaScript and half programming as the programming code pulls the data from a pool of questions and JavaScript looks for a hidden field and if it has been initialized already or not, if the value was initialized on load than the value is retained when the user clicks the back button thus JavaScript knows that value exists and reloads the page.

The trick is simple yet it looks so complex and it retains the forward button as well because the page was just refreshed.

What I learned is that window.onload function gets triggered even when the user clicks the back button so it’s no help, but the radio button values don’t get refreshed and it becomes easy to figure out if any or a particular radio button that is required for the form to get submitted is already selected or not, if it’s selected right when the JavaScript is still loading that means the browser back button is selected and if not just process like normal.

example:

function reloadIfBrowserBackButtonClick()
{
  //sample by blog.wasay.net
  if (document.getElementById(“sampleRequiredCheckbox”).checked==true)
  {
    window.reload();
  }
}
window.onload=reloadIfBrowserBackButtonClick;

Make sure you check the radio button after the page is loaded otherwise you will get a JavaScript error.

Have fun coding.

~Wasay


Comments

Popular posts from this blog

Completed UiPath - RPA Developer Advance Training

After a month of training, with late nights and weekends I have completed the UiPath RPA Developer Advance Training.

The Level 1 Foundation Training pretty much covered all the basics of Desktop studio and workflows, only draw back was I started with the default foundation course which was for 2016, and all document reference links where pointing to 2016 version. I didn't understand it during the foundation training and kept switching to 2018 version document/page.

Only after completing the Foundation course that I realized, I was suppose to have started with the 2018 version of Level 1 Foundation Training, but as it was optional I didn't have to retake the 2018 version, the 2016 was good enough for moving to level 2.

The Level 2 Orchestrator 2018.3 Training as good. It gave good understanding of Queue's, Jobs, and schedules and I was able to complete the level two much faster then the level 1.

The Level 3 UiPath Advanced Training was bit tough as it involved the assignme…

Working hours in six months to a year

I usually try to look for how many hours I have worked on a given project and what hours that I  spend on learning or network management tasks.

Below I have added some hours calculation, after finding the breakdown by months from Berkeley website.


Credit: http://controller.berkeley.edu/payroll/payroll-system-pps/pps-training-materials/number-working-hours-month

2017Working hours six months (Jan 1st - Jun 30th): 
130 days x 8 hours =  1040 hours


Working hours six months (Jul 1st - Dec 31th): 
130 days x 8 hours =  1040 hours

Working hours for the year:
1040 hours + 1040 hours = 2080 hours
MonthWorking Days in the monthMonthly Working Hrs1/2 of working hrsMidpoint of working days in the monthDates of HolidaysJanuary22176888 a.m. 1/172,16February20160808 a.m. 2/1520March2318492Noon 3/1631April20160808 a.m. 4/17May2318492Noon 5/1629June22176888 a.m. 6/16July2116884Noon 7/174August2318492Noon 8/16September2116884Noon 9/154October22176888 a.m. 10/17November22176888 a.m. 11/1610,23,24December21168…