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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.