Toggle menu
862
3.8K
30.2K
279.1K
Catglobe Wiki
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
	});
	});
});