0

hallo there,

i ve coded a script that the user can write a test. there is a form that he completes the answears and a button that posts those answears to another file which connects to a database checks if he is right and then shows the results.

Now i want to use a timer in order to autosubmit the form after some time (ex 15 minutes). I know that i need a timer countdown( the user must see all the time the time left) and i think that i should use javascript. how can i sudmit the form after the time ends in order the user to see the results that he made after this time passed??

3
Contributors
13
Replies
14
Views
6 Years
Discussion Span
Last Post by dourvas
Featured Replies
0
......
.......
.....
.....

d1=new Date();
		d1.setMinutes ( d1.getMinutes() + 15;
		
		var etime = new Date(d1);
		var ehour = etime.getHours();
		var emin = etime.getMinutes();
		var esec = etime.getSeconds();
		var ftime = "";
		
		if(ehour == 0) ehour = 12;
		ftime = (ehour > 12 ? ehour - 12 : ehour) + ":" +
		(emin < 10 ? "0" : "") + emin + ":" +
		(esec < 10 ? "0" : "") + esec + " " +
		(ehour > 12 ? "PM" : "AM");

		document.getElementById("etime").value = ftime;
......
......
......

setInterval("settime()", 1000);
 	function settime () 
	{
		var curtime = new Date();
		var curhour = curtime.getHours();
		var curmin = curtime.getMinutes();
		var cursec = curtime.getSeconds();
		var time = "";
		
		if(curhour == 0) curhour = 12;
		time = (curhour > 12 ? curhour - 12 : curhour) + ":" +
		(curmin < 10 ? "0" : "") + curmin + ":" +
		(cursec < 10 ? "0" : "") + cursec + " " +
		(curhour > 12 ? "PM" : "AM");
		
		document.getElementById("stime").value = time;
		
		etime=document.getElementById("etime").value;
		
		if(etime!="")
		{
			if(time>=etime)
			{
				document.getElementById("submit").click();
			}	
		}
	}
.....
.....
<div class="textfield_container_right">
            <div class="text1" style="width:90px;"><strong>Time	 :</strong></div>
            <div class="text1"><input type="text" name="stime" id="stime" style="border:none; background-color:transparent; color:#FFFFFF; margin-top:5px;" readonly="readonly"/></div>
            </div>
            <div class="textfield_container_right">
            <div class="text1" style="width:90px;"><strong>End Time :</strong></div>
            <div class="text1"><input type="text" name="etime" id="etime" readonly="readonly" style="border:none; background-color:transparent; color:#FFFFFF; margin-top:5px;"/></div>
.....
.....
.....

<input type="submit" name="submit" id="submit" />
0

Thanks for the answear
let me test this and ill post the result

Edited by dourvas: n/a

0

ok, let me write some questions about this code. first i wanna say that i am new at php and javascript so my experience is not helping me at all

a) i copy and pasted the javascript code you wrote to a file: time.js and i called it inside the initial php file.

<script	type="text/javascript"
	src="time.js"
></script>

inside the code there are some dots. There r their because u expect me to write code that is obvious to u? i just erase those dots when i created the file i mentioned.

b)in the php code, is it possible to post the css classes you use? (textfield_container_right, text1, stime, etime etc...)

C) i also can get how the form posts the answears. you just

<input type="submit" value="sudmit" id="submit">

i can not see how the javascript connects with the php code.

(i told you i am an amateur :-) )

is it possible to pass a parametre from the initial php file to javascript file in order to change the amount of passing time? It will not be always 15'......

thanks anyway.......

0

No need of that css for text box its just as

Time :<input type="text" name="stime" id="stime" readonly="readonly"/><br>
End Time :<input type="text" name="etime" id="etime" readonly="readonly"/>

and call settime() function in body onload like

<body onload="settime()">

thats enough

0

something is not right with the etime variable because etime input is empty. this way nothing happens after the time ends...
the javascript you gave me:

d1=new Date();
d1.setMinutes ( d1.getMinutes() + 15);
 
var etime = new Date(d1);
var ehour = etime.getHours();
var emin = etime.getMinutes();
var esec = etime.getSeconds();
var ftime = "";
 
if(ehour == 0) ehour = 12;
ftime = (ehour > 12 ? ehour - 12 : ehour) + ":" +
(emin < 10 ? "0" : "") + emin + ":" +
(esec < 10 ? "0" : "") + esec + " " +
(ehour > 12 ? "PM" : "AM");
 
document.getElementById("etime").value = ftime;

 
setInterval("settime()", 1000);
function settime ()
{
var curtime = new Date();
var curhour = curtime.getHours();
var curmin = curtime.getMinutes();
var cursec = curtime.getSeconds();
var time = "";
 
if(curhour == 0) curhour = 12;
time = (curhour > 12 ? curhour - 12 : curhour) + ":" +
(curmin < 10 ? "0" : "") + curmin + ":" +
(cursec < 10 ? "0" : "") + cursec + " " +
(curhour > 12 ? "PM" : "AM");
 
document.getElementById("stime").value = time;
 
etime=document.getElementById("etime").value;
 
if(etime!="")
{
if(time>=etime)
{
document.getElementById("submit").click();
}
}
}
0

write the js code inside the php page.
dont include from js file

Edited by karthik_ppts: spelling mistake

0

Use the script at the end of the page as follows

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

</head>

<body>
<form method="post" name="frm_answer">
    Time :<input type="text" name="stime" id="stime" readonly="readonly"/><br>
    End Time :<input type="text" name="etime" id="etime" readonly="readonly"/>
</form>
</body>
</html>
<script type="text/javascript">
	d1=new Date();
d1.setMinutes ( d1.getMinutes() + 15);
 
var etime = new Date(d1);
var ehour = etime.getHours();
var emin = etime.getMinutes();
var esec = etime.getSeconds();
var ftime = "";
 
if(ehour == 0) ehour = 12;
ftime = (ehour > 12 ? ehour - 12 : ehour) + ":" +
(emin < 10 ? "0" : "") + emin + ":" +
(esec < 10 ? "0" : "") + esec + " " +
(ehour > 12 ? "PM" : "AM");
 
document.getElementById("etime").value = ftime;
 
 
setInterval("settime()", 1000);
function settime ()
{
var curtime = new Date();
var curhour = curtime.getHours();
var curmin = curtime.getMinutes();
var cursec = curtime.getSeconds();
var time = "";
 
if(curhour == 0) curhour = 12;
time = (curhour > 12 ? curhour - 12 : curhour) + ":" +
(curmin < 10 ? "0" : "") + curmin + ":" +
(cursec < 10 ? "0" : "") + cursec + " " +
(curhour > 12 ? "PM" : "AM");
 
document.getElementById("stime").value = time;
 
etime=document.getElementById("etime").value;
 
if(etime!="")
{
if(time>=etime)
{
//alert("kartik");
document.getElementById("submit").click();
}
}
}
</script>

Edited by karthik_ppts: n/a

0

:-)
IT WORKS MAN. IT IS PERFECT!! EXACTLY WHAT I NEEDED!! THANK YOU VERY MUCH........

ONE MORE THINK.

I WANT TO PASS THE PERIOD TIME (15 MINUTES) INTO JAVASCRIPT USING A VARIABLE.
IS IT POSSIBLE???

<script type="text/javascript">
d1=new Date();
d1.setMinutes ( d1.getMinutes() + $variable);

there r several tests and every test needs different time. At the begin of the initial php file i will get from a database the time into a variable. I want to call that javascript using that variable.....

0

do u think that i should start a new thread about passing variables into javascript from php? i tried several thinks i found google searhing but nothing seems to work..

Edited by dourvas: n/a

0

Yes Possible... Its as follows

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

</head>

<body>
<form method="post" name="frm_answer">
    Time :<input type="text" name="stime" id="stime" readonly="readonly"/><br>
    End Time :<input type="text" name="etime" id="etime" readonly="readonly"/>
</form>
</body>
</html>
<?php
        //Your db connection code
	$qry_interview="select * from tbl_name where id=1";//Pass the id whatever u need
	$rs_interview=mysql_query($qry_interview);
?>
<script type="text/javascript">
	d1=new Date();
d1.setMinutes ( d1.getMinutes() + <?php echo mysql_result($rs_interview,0,"duration_field"); ?>);// duration fiels is the field name of interview durtation in ur db
 
var etime = new Date(d1);
var ehour = etime.getHours();
var emin = etime.getMinutes();
var esec = etime.getSeconds();
var ftime = "";
 
if(ehour == 0) ehour = 12;
ftime = (ehour > 12 ? ehour - 12 : ehour) + ":" +
(emin < 10 ? "0" : "") + emin + ":" +
(esec < 10 ? "0" : "") + esec + " " +
(ehour > 12 ? "PM" : "AM");
 
document.getElementById("etime").value = ftime;
 
 
setInterval("settime()", 1000);
function settime ()
{
var curtime = new Date();
var curhour = curtime.getHours();
var curmin = curtime.getMinutes();
var cursec = curtime.getSeconds();
var time = "";
 
if(curhour == 0) curhour = 12;
time = (curhour > 12 ? curhour - 12 : curhour) + ":" +
(curmin < 10 ? "0" : "") + curmin + ":" +
(cursec < 10 ? "0" : "") + cursec + " " +
(curhour > 12 ? "PM" : "AM");
 
document.getElementById("stime").value = time;
 
etime=document.getElementById("etime").value;
 
if(etime!="")
{
if(time>=etime)
{
//alert("kartik");
document.getElementById("submit").click();
}
}
}
</script>

Edited by karthik_ppts: miss something

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.