Jump to content

How to disable radio buttons after certain amount of time


doforumda

Recommended Posts

hi

 

i have following code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!--<meta http-equiv="refresh" content="51;url=quiz2action.php" />-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>

<body>
<div id = "time"></div>

<script type = "text/javascript">
}

function display(secs) {
if (secs <= 0) { 
alert("Your time is up!");
return;
}
secs--;
document.getElementById("time").innerHTML = "You have " +
Math.floor(secs/60) + ":" + (secs % 60 < 10 ? "0" : "" ) + (secs % 60) + " left";
setTimeout("display("+secs+")",1000);
}

display(51); // 300 seconds = 5 minutes

</script>
<p>
<form name="form1" method="post" action="quiz2action.php">
  <?php
$db = mysql_connect("localhost");
mysql_select_db("videoshop", $db);

//$queryquestions = "SELECT * FROM quiz ORDER BY RAND()" or die();
$queryquestions = "SELECT * FROM quiz" or die(); 
$resultquestions = mysql_query($queryquestions) or die();

while($rowquestions = mysql_fetch_array($resultquestions))
{
   $questionid = $rowquestions['id'];
   $question = $rowquestions['question'];
   $answerone = $rowquestions['option1'];
   $answertwo = $rowquestions['option2'];
   $answerthree = $rowquestions['option3'];
   $answerfour = $rowquestions['option4'];
   echo "   
    <b>Question $questionid: $question</b><br>
   <input type=\"radio\" name=\"question[$questionid]\" value=\"1\"> $answerone <br>
   <input type=\"radio\" name=\"question[$questionid]\" value=\"2\"> $answertwo <br>
   <input type=\"radio\" name=\"question[$questionid]\" value=\"3\"> $answerthree <br>
   <input type=\"radio\" name=\"question[$questionid]\" value=\"4\"> $answerfour <br>";
   
   echo "<br><br>";
}

?>
</p>
  <label>
  <input type="submit" name="Submit" id="button" value="Submit">
  </label>
</form>
<p> </p>
</body>
</html>

 

above is the code of quiz which is created in php. that quiz is fine. the problem in in js script above the php script.

what i want is when the time of 5 mins is completed then i want to disable all those radio buttons except submit button.

 

how can this be done?

You can use setTimeout() to call a function after x time that will change them to being disabled. 

 

Note: You will have to add id attributes to your form elements so you can use getElementById() to change the state of them to disabled.

 

Note: Doing all this is not foolproof. Pretty easy for user to sidestep javascript.  The more ideal method would be to use php to start a session and store a "start" time and upon form submission, use php to compare the current time to that start time.  In other words, use server-side validation, not client-side.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.