- Posts: 26
- Thank you received: 3
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Prevent accidentially closing the survey
- jonsen
- Topic Author
- Offline
- Junior Member
Less
More
10 years 1 month ago #106456
by jonsen
Prevent accidentially closing the survey was created by jonsen
Hey folks!
I used to use this to prevent (by first asking if the user is sure (s)he wants to leave) the usage of the browser's back button or the closing of the tab/window before completing the survey:
The variable document.limesurvey.move seems to have been removed in the current version (2.05+ b140302). Is there a good alternative? I wonder why this is not part of the core functionality because the survey can break on improper use of the back button - and also some people forget about the survey the already opened and are reminded before they close it... But anyways, I can solve it myself but find it hard to detect which activity is "proper use" and which is not.
Thank you very much!
Best
Jonsen
I used to use this to prevent (by first asking if the user is sure (s)he wants to leave) the usage of the browser's back button or the closing of the tab/window before completing the survey:
Code:
function goodbye(e) { if(document.limesurvey.move.value == '') { if(!e) e = window.event; //e.cancelBubble is supported by IE - this will kill the bubbling process. e.cancelBubble = true; e.returnValue = 'Sind Sie sicher, dass Sie die Seite verlassen möchten? Eingegebene Daten werden unter Umständen nicht gespeichert.'; //This is displayed on the dialog //e.stopPropagation works in Firefox. if (e.stopPropagation) { e.stopPropagation(); e.preventDefault(); } } } window.onload=function() { document.limesurvey.move.value = ''; } window.onbeforeunload=goodbye;
The variable document.limesurvey.move seems to have been removed in the current version (2.05+ b140302). Is there a good alternative? I wonder why this is not part of the core functionality because the survey can break on improper use of the back button - and also some people forget about the survey the already opened and are reminded before they close it... But anyways, I can solve it myself but find it hard to detect which activity is "proper use" and which is not.
Thank you very much!
Best
Jonsen
The topic has been locked.
- jonsen
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 26
- Thank you received: 3
10 years 1 month ago #106616
by jonsen
Replied by jonsen on topic Prevent accidentially closing the survey
Is this really a non-issue for everyone else? What if someone wants to go back and uses the "back" button? Do you just accept that this participant will drop out of the survey because it will show "document expired"?
Please help me understand... Thanks!
Best
Jonsen
Please help me understand... Thanks!
Best
Jonsen
The topic has been locked.
- jonsen
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 26
- Thank you received: 3
10 years 3 weeks ago #107348
by jonsen
Replied by jonsen on topic Prevent accidentially closing the survey
Pleeeeeeease people, can you at least tell me why this doesn't seem to bother anyone?
Thank you very much!
Best
Jonsen
Thank you very much!
Best
Jonsen
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13676
- Thank you received: 2496
10 years 3 weeks ago - 10 years 3 weeks ago #107377
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Prevent accidentially closing the survey
Hi,
Not sure it work on all browser, but you can use your own 'identifier'
Try this:
Not sure it work on all browser, but you can use your own 'identifier'
Try this:
Code:
function goodbye(e) { if(!$('#submitted').length) { if(!e) e = window.event; //e.cancelBubble is supported by IE - this will kill the bubbling process. e.cancelBubble = true; e.returnValue = 'Sind Sie sicher, dass Sie die Seite verlassen möchten? Eingegebene Daten werden unter Umständen nicht gespeichert.'; //This is displayed on the dialog //e.stopPropagation works in Firefox. if (e.stopPropagation) { e.stopPropagation(); e.preventDefault(); } return 'Sind Sie sicher, dass Sie die Seite verlassen möchten? Eingegebene Daten werden unter Umständen nicht gespeichert.'; // For chrome } } window.onbeforeunload=goodbye; $(document).on('click',".button,[name='move']", function(event){ $('body').append('<input type="hidden" id="submitted" />'); });
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Last edit: 10 years 3 weeks ago by DenisChenu. Reason: // For chrome
The following user(s) said Thank You: jonsen
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13676
- Thank you received: 2496
10 years 3 weeks ago #107381
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Prevent accidentially closing the survey
PS: for chrome/chromium ,
Seems you need a return
Something like this:
return 'Sind Sie sicher, dass Sie die Seite verlassen möchten? Eingegebene Daten werden unter Umständen nicht gespeichert.'; //This is displayed on the dialog
Seems you need a return
Something like this:
return 'Sind Sie sicher, dass Sie die Seite verlassen möchten? Eingegebene Daten werden unter Umständen nicht gespeichert.'; //This is displayed on the dialog
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- jonsen
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 26
- Thank you received: 3
10 years 3 weeks ago #107439
by jonsen
Replied by jonsen on topic Prevent accidentially closing the survey
@Denis, thank you very much for your answer, I'll try it ASAP and come back here to report...
@EVERYONE: Does this not seem to be an issue for anyone else? If yes, why not?
Best
Jonsen
@EVERYONE: Does this not seem to be an issue for anyone else? If yes, why not?
Best
Jonsen
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13676
- Thank you received: 2496
10 years 3 weeks ago #107441
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Prevent accidentially closing the survey
Hi,
Because : user are master of their browser. If user want to close their browser, let them close their browser, or click previous or reload etc ....
Maybe
Because : user are master of their browser. If user want to close their browser, let them close their browser, or click previous or reload etc ....
Maybe
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- jonsen
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 26
- Thank you received: 3
10 years 3 weeks ago #107443
by jonsen
Replied by jonsen on topic Prevent accidentially closing the survey
NO I AM THEIR MASTER
Just kidding... I just think especially the use of the "back" button often happens because people are used to it. Also, I'm not disabling functionality, just making sure that it really is what the user wants.
But yeah, I get your point and why such functionality might not be part of the original LS code. Still, I think it should be.
Best
Jonsen
(BTW: The code above does not seem to work yet, I will get back on that Monday...)
Just kidding... I just think especially the use of the "back" button often happens because people are used to it. Also, I'm not disabling functionality, just making sure that it really is what the user wants.
But yeah, I get your point and why such functionality might not be part of the original LS code. Still, I think it should be.
Best
Jonsen
(BTW: The code above does not seem to work yet, I will get back on that Monday...)
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13676
- Thank you received: 2496
10 years 3 weeks ago #107444
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Prevent accidentially closing the survey
Tested in FireFox and Chromium : limesurvey.sondages.pro/631792/newtest/Yjonsen wrote: (BTW: The code above does not seem to work yet, I will get back on that Monday...)
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- david2013
- Offline
- Senior Member
Less
More
- Posts: 42
- Thank you received: 6
10 years 3 weeks ago #107450
by david2013
Replied by david2013 on topic Prevent accidentially closing the survey
Hi Denis,
It works well. A quick question, why your survey is able to jump to different group without answer compulsory questions? Can you please show me how
It works well. A quick question, why your survey is able to jump to different group without answer compulsory questions? Can you please show me how
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13676
- Thank you received: 2496
10 years 3 weeks ago #107456
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Prevent accidentially closing the survey
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- david2013
- Offline
- Senior Member
Less
More
- Posts: 42
- Thank you received: 6
10 years 3 weeks ago #107466
by david2013
Replied by david2013 on topic Prevent accidentially closing the survey
It seems it will jump to next compulsory question. If I have 50 questions on 50 different pages. Each question are compulsory. Now I want to test skip logic around Q40. Currently, I have to answer all the questions up to Q40. Are we able to let question index jump to Q40 directly? It will save a lot of time when testing.
The topic has been locked.