Jump to content
Toggle menu
  • 915 articles
  • 3.8K files
  • 30.2K users
  • 279.2K edits
Catglobe Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Auto next on single question: Difference between revisions

From Catglobe Wiki
No edit summary
No edit summary
Line 2: Line 2:


<source lang="javascript">
<source lang="javascript">
//after getting new questions to show
AnswerSheet.bind('afterShowPage', function(ev, as) {
AnswerSheet.bind('afterShowPage', function(ev, as) {
//check current is Single Question
//find all of single questions
if (as.questions.length != 1) return;
as.questions.match('type', 1).map(function(q){
var q = as.questions[0];
//and run this function after the value has changed
if (q.type != 1) return;
q.answerOptions.bind('selectionChanged', function() {
//auto next
q.answerOptions.bind('selectionChanged', function() {
var ao = this.getAnswer()[0];
var ao = this.getAnswer()[0];
if (!ao || ao.open) return; //ignore Open answer
if (!ao || ao.open) return; //ignore Open answer
//Use the new onTriggerEnterKey if possible or fallback to moveToNextPage
if (typeof as.onTriggerEnterKey === "function") as.onTriggerEnterKey(q);
if (typeof as.onTriggerEnterKey === "function") as.onTriggerEnterKey(q);
else as.moveToNextPage(); //backwards compatible
else as.moveToNextPage(); //backwards compatible
});
});
});
});
});

Revision as of 06:16, 16 October 2020

To make single questions automatically go to next question when an answer option has been selected, put the script on questionnaire's javascript of editor

//after getting new questions to show
AnswerSheet.bind('afterShowPage', function(ev, as) {
//find all of single questions
	as.questions.match('type', 1).map(function(q){
//and run this function after the value has changed
		q.answerOptions.bind('selectionChanged', function() {
		var ao = this.getAnswer()[0];
		if (!ao || ao.open) return; //ignore Open answer
//Use the new onTriggerEnterKey if possible or fallback to moveToNextPage
		if (typeof as.onTriggerEnterKey === "function") as.onTriggerEnterKey(q);
		else as.moveToNextPage(); //backwards compatible
	});
	});
});