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…

KB 294807 - IIS Server - PHP FastCGI 500 Error 0xfffffffe

Resolved issue today of IIS Server - PHP FastCGI 500 Error 0xfffffffe by deleting "Windows Temp" folder files.

We used Cygwin to customize some permissions of "Windows Temp" folder and after few hours the website stopped working.

The search online was giving all kinds of different solution except what I was looking for.

I was hoping the stackoverflow will have answers but even this post didn't cover the issue I was running into.
https://stackoverflow.com/questions/15302080/fastcgi-500-failure

Restarting the IIS didn't work, but deleting temp files cleared the issue, but now the problem is how long before the site will go down again?

Hope the issue is resolved for ever, if not; I will update this post later.

Grow with Google Scholarship / Udacity

Grow with Google Scholarship / Udacity

Today on Jan 11, 2018, I have received the Grow with Google Scholarship.

I am really excited because, previously I had joined Udacity to complete a Nano Degree, but due to price and family priorities, I had to abandon that goal.

Today, I feel like I am getting a second chance to give it another shot to completing my Nano Degree.