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.

Hide Next button in n seconds: Difference between revisions

From Catglobe Wiki
Line 11: Line 11:


== Code  ==
== Code  ==
 
<source lang="javascript">
quest.onInit = function()<br>{<br>var secsTimeout = 10;&nbsp;
quest.onInit = function()
 
{
if ( !document.getElementsByName('next') || document.getElementsByName('next').length == 0 ) <br>{<br>// next button not available<br>return;<br>}<br>else<br>{<br>document.getElementsByName('next')[0].style.display='none';<br>}
var secsTimeout = 10;
 
if ( !document.getElementsByName('next') || document.getElementsByName('next').length == 0 )  
var timeout = setTimeout("document.getElementsByName('next')[0].style.display=;", secsTimeout*1000);
// next button not available
 
return;
} <br>
document.getElementsByName('next')[0].style.display='none';
setTimeout("document.getElementsByName('next')[0].style.display=", secsTimeout*1000);
}
</source>

Revision as of 06:25, 12 February 2009

Challenge

In order to not allow respondent click on the Next button in a period of time
As a questionnaire creator
I want to hide the Next button in some seconds 

Solution

  • In questionnaire template editor, choose the question I want to hide the Next button, and then go to the Properties - Edit question properties - Language dependent - Select javascript property 
  • Create a onInit() function.
  • In that function, check if the Next button existed. 
  • If it doesn't exist, do nothing, else disable the Next button, set the time out to number of seconds I want to hide the button, then show the button again.  

Code

quest.onInit = function()
{
	var secsTimeout = 10;
	if ( !document.getElementsByName('next') || document.getElementsByName('next').length == 0 ) 
		// next button not available
		return;
	document.getElementsByName('next')[0].style.display='none';
	setTimeout("document.getElementsByName('next')[0].style.display=", secsTimeout*1000);
}