Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Automatically proceed to next question (without clicking "next")

Automatically proceed to next question (without clicking "next") 1 year 10 months ago #107145

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 5410
  • Thank you received: 1154
  • Karma: 479
You have some syntax problems where inserting the timeoutDialog - it all needs to be on one line or escaped properly - see below.

Having said that, I just don't get what you are trying to do with the IF statement.
- You say if groupIndex is greater than or equal to 0, click Submit, otherwise redirect the page.
- Well, groupIndex will always be greater than or equal to 0 so the redirect will never happen.
- The #movesubmitbtn element only exists on the last page of the survey, so, unless you are there, nothing will ever happen.

	$(document).ready(function(){
 
		var txtAlertMessage = 'Anyone there? Do you want to continue?';		
		var txtCloseButton = 'Continue';
		var redirectURL = location.pathname.split('index.php')[0];
		var timeToAlert = 2; // In seconds
		var timeToRedirect = 2; // In seconds
 
		// Page timeout action
		function pageTimeout() {
			// Find the group index - 
			var groupIndex = $('div[id^="group-"]').attr('id').split('group-')[1];
 
			if(groupIndex >= 0) {
				$('#movesubmitbtn').click();
			}	
			else {
				window.location = redirectURL;
			}
		}	
 
		// Alert Timer
		var alertTimer;
		function startAlertTimer() {
			alertTimer = setTimeout(function() {
				$('.custom-dialog-1').dialog('open');
			},timeToAlert*1000);
		}		
		function stopAlertTimer() {
			clearTimeout(alertTimer);
		}		
		function restartAlertTimer() {
			clearTimeout(alertTimer);
			startAlertTimer();
		}
		startAlertTimer();
 
		// Redirect Timer
		var redirectTimer;
		function startRedirectTimer() {
			redirectTimer = setTimeout(function() {
				pageTimeout();
			},timeToRedirect*1000);
		}		
		function stopRedirectTimer() {
			clearTimeout(redirectTimer);
		}		
		function restartRedirectTimer() {
			clearTimeout(redirectTimer);
			startRedirectTimer();
		}	
 
		// Insert the alert dialog
		var timeoutDialog = '<div class="custom-dialog-1">\
								<div class="text">'+txtAlertMessage+'</div>\
								<div class="buttons">\
									<button class="close" type="button" value="close">'+txtCloseButton+'</button>\
								</div>\
							</div>';
		$(timeoutDialog).dialog({
			autoOpen: false,
			open: function( event, ui ) {
				startRedirectTimer();
				//IE 10 z-index hack
				$('.ui-widget-overlay').css('z-index', Number($('.ui-widget-overlay').css('z-index')) - 2);
			},
			close: function( event, ui ) {
				stopRedirectTimer();
				restartAlertTimer();
			},
			width: 400,
			modal: true,
			resizable: false,
			draggable: true,
			closeOnEscape: true,
			dialogClass: 'timeout-dialog'
		});
		$('.timeout-dialog button').click(function() {
			$('.custom-dialog-1').dialog('close');
		});
 
		// Listener for activity
		$('#limesurvey').on('click keyup paste change' ,function(event){ 
			restartAlertTimer();
		});
	});
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
Last Edit: 1 year 10 months ago by tpartner.
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 1 year 10 months ago #107152

  • dweisser
  • dweisser's Avatar
  • Offline
  • Gold Lime
  • Posts: 210
  • Thank you received: 5
  • Karma: 5
Ahh, thank you. It makes sense now.
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 1 year 2 months ago #114492

  • SurveyDennis
  • SurveyDennis's Avatar
  • Offline
  • Junior Lime
  • Posts: 26
  • Thank you received: 4
  • Karma: 2
Hi,

Just curious, I am using this example with a normal list radio.
I have the question set to mandatory.

The code is working however I don't proceed to the next question properly.
A message popups -
Please use the LimeSurvey navigation buttons or index.
It appears you attempted to use the browser back button to re-submit a page.

(although I clicked the answer).
So in that case it looks like it is not saving the answer.
<script type="text/javascript" charset="utf-8">
	$(document).ready(function(){
 
		$( '#question{QID} input.radio' ).click(function() {
			document.limesurvey.submit();
		});
	});
</script>

Any ideas?
Thanks, Dennis
Last Edit: 1 year 2 months ago by SurveyDennis.
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 1 year 2 months ago #114496

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 5410
  • Thank you received: 1154
  • Karma: 479
LimeSurvey version?
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 1 year 2 months ago #114497

  • SurveyDennis
  • SurveyDennis's Avatar
  • Offline
  • Junior Lime
  • Posts: 26
  • Thank you received: 4
  • Karma: 2
Version 2.05
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 1 year 2 months ago #114498

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 5410
  • Thank you received: 1154
  • Karma: 479
Try this:
<script type="text/javascript" charset="utf-8">	
	$(document).ready(function(){
 
		$('#question{QID} input.radio').click(function() {
			checkconditions($(this).attr('value'), $(this).attr('name'), $(this).attr('type'))
			$('#movenextbtn, #movesubmitbtn').trigger('click');
		});
	});
</script>
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
The administrator has disabled public write access.
The following user(s) said Thank You: SurveyDennis

Automatically proceed to next question (without clicking "next") 1 year 2 months ago #114499

  • SurveyDennis
  • SurveyDennis's Avatar
  • Offline
  • Junior Lime
  • Posts: 26
  • Thank you received: 4
  • Karma: 2
Many thanks, that did the trick!!
Much appreciated
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Moderators: ITEd
Time to create page: 0.153 seconds