javascript 使用时间发布表单

3pmvbmvn  于 2024-01-05  发布在  Java
关注(0)|答案(3)|浏览(114)

我正在尝试制作一个使用时间发布的表格。我已经设法计算时间。我想输入一个特定的时间来发布从12:00等。这是可能的吗?

  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <span id="remain"></span>
  6. <form action="3.php" method="post" id="form1" name="form1">
  7. <input type="text" name="id">
  8. <input type="submit" name="Go" value="submit">
  9. </form>
  10. <script type="text/javascript">
  11. window.onload=counter;
  12. function counter() {
  13. seconds = 150;
  14. countDown();
  15. }
  16. function countDown(){
  17. document.getElementById("remain").innerHTML=seconds;
  18. setTimeout("countDown()",1000);
  19. if(seconds == 0) {
  20. document.form1.submit();
  21. }else {
  22. seconds--;
  23. }
  24. }
  25. </script>

字符串

slmsl1lt

slmsl1lt1#

这是通过查找当前时间,然后将当前时间与您要发布的表单上的设置时间进行比较

查找当前时间

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

字符串
使用上面的代码,您可以找到当前时间,然后与特定时间进行比较。如果两个时间相等,则运行该函数。

u3r8eeie

u3r8eeie2#

我认为你可以使用这个代码。这不是你问的方式,但这是想法

  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <span id="remain"></span>
  6. <form action="test1.asp" method="post" id="form1" name="form1">
  7. <input type="text" name="id">
  8. <input type="submit" name="Go" value="submit">
  9. </form>
  10. <script type="text/javascript">
  11. window.onload=counter;
  12. function counter()
  13. {
  14. var currentTime = new Date ( );
  15. var currentHours = currentTime.getHours ( );
  16. var currentMinutes = currentTime.getMinutes ( );
  17. var currentSeconds = currentTime.getSeconds ( );
  18. hours=currentHours
  19. minutes=currentMinutes
  20. seconds = currentSeconds;
  21. countDown();
  22. }
  23. function countDown(){
  24. document.getElementById("remain").innerHTML=hours+':'+minutes+':'+seconds;
  25. setTimeout("countDown()",1000);
  26. if(hours == 12)
  27. {
  28. document.form1.submit();
  29. }else {
  30. seconds--;
  31. }
  32. }
  33. </script>
  34. </body>
  35. </html>

字符串

展开查看全部
8i9zcol2

8i9zcol23#

将你的函数countDown改为这样。首先获取当前时间,然后将剩余的秒数计算为当前时间,并将其设置为超时时间(秒)

  1. function countDown(){
  2. //current time in seconds
  3. var d = new Date();
  4. var n = d.getTime();
  5. //find the remaining seconds from a day
  6. var remainingSec = n % (60 * 60 * 24);
  7. //find current hours set and convert to seconds
  8. var timeOfDay = ( currentHours < 12 ) ? "AM" : "PM";
  9. currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;
  10. currentHours = ( currentHours == 0 ) ? 12 : currentHours;
  11. var currentSec = currentHours * 60 * 60;
  12. //set timeout time
  13. var timeoutTime = remainingSec - currentSec;
  14. if(timeoutTime > 0) {
  15. setTimeout(function(){
  16. document.form1.submit();
  17. },timeoutTime * 1000);
  18. } else {
  19. console.log("Sorry the time is back in the past.");
  20. }
  21. }

字符串

展开查看全部

相关问题