1234_new
asked on
refresh page
I'm looking for a code the will do the following....
It will refresh the page depending on the selection from a drop down menu...
Like..
<select name="Refresh" size="1">
<option value="0" selected>Don't reload automatically</option>
<option value="1">Reload page every minute</option>
<option value="2">Reload page every 2 minutes</option>
<option value="5">Reload page every 5 minutes</option>
<option value="10">Reload page every 10 minutes</option>
<option value="15">Reload page every 15 minutes</option>
</select>
It will refresh the page depending on the selection from a drop down menu...
Like..
<select name="Refresh" size="1">
<option value="0" selected>Don't reload automatically</option>
<option value="1">Reload page every minute</option>
<option value="2">Reload page every 2 minutes</option>
<option value="5">Reload page every 5 minutes</option>
<option value="10">Reload page every 10 minutes</option>
<option value="15">Reload page every 15 minutes</option>
</select>
here is example with cookie:
========================
<html>
<body bgcolor=ffffff>
<script>
function runit()
{
if(getc("myRefresh"))
{
if(getc("myRefresh")*1>0)
setTimeout("document.locat ion=docume nt.locatio n;",getc(" myRefresh" )*60000);
}
}
function getc(name)
{
var rs=null;var mc=" " + document.cookie + ";";
var sn=" " + name + "=";var sc=mc.indexOf(sn);var ec;
if (sc!=-1) {sc+=sn.length;ec=mc.index Of(";",sc) ;
rs=unescape(mc.substring(s c,ec));}re turn rs;
}
function setc(name,value) {document.cookie=name+"="+ escape(val ue);}
window.onload=mklastselect ed;
function mklastselected()
{
if(getc('myRefresh')){docu ment.forms [0].myRefr esh.value= getc('myRe fresh')}
runit();
}
function fcounter()
{
if(getc('counter'))
{
var counter=getc('counter')*1;
document.write("counter="+ counter);
counter++;
setc("counter",counter);
}
else
{
document.write("counter="+ 0);
setc("counter",0);
}
}
fcounter();
function resetAll()
{
setc("counter",0);
setc("myRefresh","null");
document.location=document .location;
}
</script>
<form>
<select name="myRefresh" size="1" onchange='setc("myRefresh" ,this.valu e);runit() ;'>
<option value="null" selected>Don't reload automatically</option>
<option value="1">Reload page every minute</option>
<option value="2">Reload page every 2 minutes</option>
<option value="5">Reload page every 5 minutes</option>
<option value="10">Reload page every 10 minutes</option>
<option value="15">Reload page every 15 minutes</option>
</select>
<input type=button value=reset onclick=resetAll()>
</form>
</body>
</html>
========================
<html>
<body bgcolor=ffffff>
<script>
function runit()
{
if(getc("myRefresh"))
{
if(getc("myRefresh")*1>0)
setTimeout("document.locat
}
}
function getc(name)
{
var rs=null;var mc=" " + document.cookie + ";";
var sn=" " + name + "=";var sc=mc.indexOf(sn);var ec;
if (sc!=-1) {sc+=sn.length;ec=mc.index
rs=unescape(mc.substring(s
}
function setc(name,value) {document.cookie=name+"="+
window.onload=mklastselect
function mklastselected()
{
if(getc('myRefresh')){docu
runit();
}
function fcounter()
{
if(getc('counter'))
{
var counter=getc('counter')*1;
document.write("counter="+
counter++;
setc("counter",counter);
}
else
{
document.write("counter="+
setc("counter",0);
}
}
fcounter();
function resetAll()
{
setc("counter",0);
setc("myRefresh","null");
document.location=document
}
</script>
<form>
<select name="myRefresh" size="1" onchange='setc("myRefresh"
<option value="null" selected>Don't reload automatically</option>
<option value="1">Reload page every minute</option>
<option value="2">Reload page every 2 minutes</option>
<option value="5">Reload page every 5 minutes</option>
<option value="10">Reload page every 10 minutes</option>
<option value="15">Reload page every 15 minutes</option>
</select>
<input type=button value=reset onclick=resetAll()>
</form>
</body>
</html>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
>> Tacobell777
Sorry, but that wont do. As the page reloads all running javascript processes are unloaded, so you would get only one reload for each time the user chose an option in the select.
Sorry, but that wont do. As the page reloads all running javascript processes are unloaded, so you would get only one reload for each time the user chose an option in the select.
LOL
Seems like the Author thought it would do the trick...
This may not be the most graceful way of doing it but it will work. Just replace "reLoadTest.html" with the url of the page. What I'm doing is saving the setting by appending it to the end of the url and reading it in on onload.
<html><head><title></title >
<script language="javascript">
<!--
function doLoad(){
url = window.location.href;
if(url.search(/\?/g) != -1){
val = url.split("?");
set = val[1].split("=");
time = document.forms[0].elements [0].option s[set[1]]. value;
timeOut = setInterval("window.locati on.reload( )", time * 60000);
document.forms[0].elements [0].select edIndex=se t[1];
}
}
function fnSetTimeout(item){
if(item.selectedIndex==0){
window.location.href="reLo adTest.htm l";
}else{
window.location.href="reLo adTest.htm l?Value=" + item.selectedIndex;
}
}
//-->
</script>
</head><body onLoad="doLoad();">
<form>
<select name="Refresh" size="1" onChange="fnSetTimeout(thi s);">
<option value="0" selected>Don't reload automatically</option>
<option value="1">Reload page every minute</option>
<option value="2">Reload page every 2 minutes</option>
<option value="5">Reload page every 5 minutes</option>
<option value="10">Reload page every 10 minutes</option>
<option value="15">Reload page every 15 minutes</option>
</select>
</form>
</body></html>
<html><head><title></title
<script language="javascript">
<!--
function doLoad(){
url = window.location.href;
if(url.search(/\?/g) != -1){
val = url.split("?");
set = val[1].split("=");
time = document.forms[0].elements
timeOut = setInterval("window.locati
document.forms[0].elements
}
}
function fnSetTimeout(item){
if(item.selectedIndex==0){
window.location.href="reLo
}else{
window.location.href="reLo
}
}
//-->
</script>
</head><body onLoad="doLoad();">
<form>
<select name="Refresh" size="1" onChange="fnSetTimeout(thi
<option value="0" selected>Don't reload automatically</option>
<option value="1">Reload page every minute</option>
<option value="2">Reload page every 2 minutes</option>
<option value="5">Reload page every 5 minutes</option>
<option value="10">Reload page every 10 minutes</option>
<option value="15">Reload page every 15 minutes</option>
</select>
</form>
</body></html>
<select name="Refresh" size="1" onChange="setRefreshRate(t
<option value="0" selected>Don't reload automatically</option>
<option value="1">Reload page every minute</option>
<option value="2">Reload page every 2 minutes</option>
<option value="5">Reload page every 5 minutes</option>
<option value="10">Reload page every 10 minutes</option>
<option value="15">Reload page every 15 minutes</option>
</select>
<script>
function setRefreshRate(iRate){
window.location.href=windo
}
</script>
and on the server side you can output a metatag
(coldFusion code)
<cfif isDefined("url.refRate") and url.refRate gt 0>
<META HTTP-EQUIV=Refresh CONTENT="#evaluate(60*iRat
</cfif>
asp (not a lot of asp coding latly so might need some touch up)
<%if(request("iRate") > 0) then %>
<META HTTP-EQUIV=Refresh CONTENT="<%=60*iRate%>;URL
<%end if%>
perl (worse than my asp)
my $iRate = param('iRate');
my $totalRate=$iRate*60;
print "<META HTTP-EQUIV=Refresh CONTENT=\"$totalRate;URL=u