Use Javascript, find if page is loaded for the first time, or due to errors

More
3 years 2 months ago #106967 by crafter
crafter created the topic: Use Javascript, find if page is loaded for the first time, or due to errors
Hi all

Is there a way, using Javascript, to determine if page is being loaded for the first time, or due to errors on the page.

I have a small Javascript function that attaches to the page load, so that a message appears for a few seconds before the page is shown. If the page is completed with validation errors, the Javascript is reloaded and the message is displayed again.

However, I would want the message to not display if the page is being returned to due to validation errors.

How can I determine if a page is being reloaded due to errors.

Please Log in to join the conversation.

More
3 years 2 months ago - 3 years 2 months ago #106968 by crafter
crafter replied the topic: Use Javascript, find if page is loaded for the first time, or due to errors
Actually, I may have found a solution.

The secret may be in these lines in the survey_runtime.js file
function showStartPopups(){
    if(typeof showpopup=="undefined"){showpopup=1;}
    if(typeof startPopups=="undefined"){startPopups=[];}
    if(showpopup){
        $.each(startPopups,function(key, text){
            alert($("<div/>").html(text).text());// Parse HTML because of &#039;
        });
    }
}

A page loaded with errors contains this code (as an example)
showpopup=1;
startPopups=["One or more mandatory questions have not been answered. You cannot proceed until these have been completed.","One or more questions have not been answered in a valid manner. You cannot proceed until these answers are valid."];
whereas a page with no errors contains an empty startPopups array
showpopup=1;
startPopups=[]

therefore, checking for an empty startPopups array will get me the solution I require, it seems.
Last Edit: 3 years 2 months ago by crafter. Reason: removed data from startPopups

Please Log in to join the conversation.

More
3 years 2 months ago #106972 by DenisChenu
DenisChenu replied the topic: Use Javascript, find if page is loaded for the first time, or due to errors
And you can replace showStartPopups function in template.js to test it.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now