2012-11-15 55 views
1

我正在嘗試使用時間發佈帖子。我設法計算了一次。我想輸入一個特定的時間來發布等從12:00。 有可能嗎?使用時間的帖子形式

<html> 
<head> 

</head> 
<body> 
    <span id="remain"></span> 
    <form action="3.php" method="post" id="form1" name="form1"> 
    <input type="text" name="id"> 
    <input type="submit" name="Go" value="submit"> 
    </form> 

<script type="text/javascript"> 
    window.onload=counter; 
    function counter() { 
    seconds = 150; 
    countDown(); 
    } 

    function countDown(){ 
    document.getElementById("remain").innerHTML=seconds; 
    setTimeout("countDown()",1000); 
    if(seconds == 0) { 
     document.form1.submit(); 
    }else { 
     seconds--;  
    } 
    }  
</script> 

+0

所以,你想僅在每天的特定時間才能夠讓一個形式發佈? – asprin

+0

只有當用戶離開網站很長時間,這種感覺很愚蠢,不是嗎? – JustAPoring

+0

是的!那麼你有什麼建議? – user1421432

回答

2

這是通過找到當前時間,然後與你設定的時間上要張貼形式比較當前時間

查找當前時間做

var currentTime = new Date (); 
var currentHours = currentTime.getHours (); 
var timeOfDay = (currentHours < 12) ? "AM" : "PM"; 
currentHours = (currentHours > 12) ? currentHours - 12 : currentHours; 
currentHours = (currentHours == 0) ? 12 : currentHours; 

使用上面的代碼,您可以查找當前時間,然後與具體時間進行比較。 如果兩個時間相等,則運行該功能。

+0

Thnx。你能告訴我如何在我的代碼上實現它嗎? – user1421432

+0

是否可以添加一個輸入以便能夠插入提交表單的時間? – user1421432

+0

我應該在哪裏發佈我想要發佈的時間? – user1421432

1

我想你可以使用這段代碼。這不是你如何問,但這是主意

<html> 
<head> 

</head> 
<body> 
<span id="remain"></span> 
<form action="test1.asp" method="post" id="form1" name="form1"> 
<input type="text" name="id"> 
<input type="submit" name="Go" value="submit"> 
</form> 
<script type="text/javascript"> 
window.onload=counter; 
function counter() 
{ 
    var currentTime = new Date (); 

    var currentHours = currentTime.getHours (); 
    var currentMinutes = currentTime.getMinutes (); 
    var currentSeconds = currentTime.getSeconds (); 
hours=currentHours 
minutes=currentMinutes 
seconds = currentSeconds; 

countDown(); 
} 

function countDown(){ 


document.getElementById("remain").innerHTML=hours+':'+minutes+':'+seconds; 
setTimeout("countDown()",1000); 
    if(hours == 12) 
     { 
      document.form1.submit(); 
     }else { 
     seconds--;  
     } 
} 

</script> 
</body> 
</html> 
+0

我認爲它的工作 – user1972007

+0

我想要的是添加一個插入時間字段,所以它會自動發佈我想要發佈的時間 – user1421432

1

改變你的函數countDown到這一點。首先獲取當前時間,然後calc下剩餘秒爲當前時間並將其設置爲以秒的超時時間

function countDown(){ 

//current time in seconds 
var d = new Date(); 
var n = d.getTime(); 

//find the remaining seconds from a day 
var remainingSec = n % (60 * 60 * 24); 

//find current hours set and convert to seconds 
var timeOfDay = (currentHours < 12) ? "AM" : "PM"; 
currentHours = (currentHours > 12) ? currentHours - 12 : currentHours; 
currentHours = (currentHours == 0) ? 12 : currentHours; 
var currentSec = currentHours * 60 * 60; 

//set timeout time 
var timeoutTime = remainingSec - currentSec; 

if(timeoutTime > 0) { 
    setTimeout(function(){ 
    document.form1.submit(); 
    },timeoutTime * 1000); 
} else { 
    console.log("Sorry the time is back in the past."); 
} 

} 
+0

我想要的是添加一個插入時間字段,所以它會自動發佈我想要的時間被張貼 – user1421432