Check out the LimeSurvey source code on GitHub!
Welcome, Guest
Username: Password:
  • Page:
  • 1
  • 2

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

Automatically proceed to next question (without clicking "next") 2 years 8 months ago #107145

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 6574
  • Thank you received: 1477
  • Karma: 579
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.
Last Edit: 2 years 8 months ago by tpartner.
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 2 years 8 months ago #107152

  • dweisser
  • dweisser's Avatar
  • Offline
  • Gold Lime
  • Posts: 222
  • 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") 2 years 3 weeks ago #114492

  • SurveyDennis
  • SurveyDennis's Avatar
  • Offline
  • Junior Lime
  • Posts: 29
  • Thank you received: 6
  • 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
Design is a method of problem solving. Applying design in surveys helps solving the biggest challenges we currently face in market research.
Last Edit: 2 years 3 weeks ago by SurveyDennis.
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 2 years 3 weeks ago #114496

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 6574
  • Thank you received: 1477
  • Karma: 579
LimeSurvey version?
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 2 years 3 weeks ago #114497

  • SurveyDennis
  • SurveyDennis's Avatar
  • Offline
  • Junior Lime
  • Posts: 29
  • Thank you received: 6
  • Karma: 2
Version 2.05
Design is a method of problem solving. Applying design in surveys helps solving the biggest challenges we currently face in market research.
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 2 years 3 weeks ago #114498

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 6574
  • Thank you received: 1477
  • Karma: 579
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.
The administrator has disabled public write access.
The following user(s) said Thank You: SurveyDennis

Automatically proceed to next question (without clicking "next") 2 years 3 weeks ago #114499

  • SurveyDennis
  • SurveyDennis's Avatar
  • Offline
  • Junior Lime
  • Posts: 29
  • Thank you received: 6
  • Karma: 2
Many thanks, that did the trick!!
Much appreciated
Design is a method of problem solving. Applying design in surveys helps solving the biggest challenges we currently face in market research.
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 6 months 17 hours ago #137511

Hey there, I've been using the following code for quite some time now to automatically proceed to the next question:
<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>

Unfortunately, now that I upgraded LimeSurvey (Version 2.50+ Build 160606) I get the following message when choosing an answer option:
One or more mandatory questions have not been answered . Please answer this first to proceed !

Any idea why this happens?

Thanks for the help!
The administrator has disabled public write access.

Automatically proceed to next question (without clicking "next") 6 months 15 hours ago #137525

  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Team
  • Posts: 6574
  • Thank you received: 1477
  • Karma: 579
It works fine for me using the default template and list-radio questions. What template and question types are you using?
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Time to create page: 0.513 seconds
Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form