Difference between revisions of "Hide Next button in n seconds"

From Catglobe Wiki
Jump to: navigation, search
Line 15: Line 15:
 
{
 
{
 
  var secsTimeout = 10;
 
  var secsTimeout = 10;
 
 
  if ( !document.getElementsByName('next') || document.getElementsByName('next').length == 0 )  
 
  if ( !document.getElementsByName('next') || document.getElementsByName('next').length == 0 )  
 
  {
 
  {
Line 25: Line 24:
 
  document.getElementsByName('next')[0].style.display='none';
 
  document.getElementsByName('next')[0].style.display='none';
 
  }
 
  }
 
 
  var timeout = setTimeout("document.getElementsByName('next')[0].style.display='';", secsTimeout*1000);
 
  var timeout = setTimeout("document.getElementsByName('next')[0].style.display='';", secsTimeout*1000);
 
 
}</onlyinclude>
 
}</onlyinclude>

Revision as of 06:06, 12 February 2009

Challenge

In order to not allow respondent click on the Next button in a period of t
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;
}
else
{
document.getElementsByName('next')[0].style.display='none';
}
var timeout = setTimeout("document.getElementsByName('next')[0].style.display=;", secsTimeout*1000);

}