Javascript Vanilla JS秒表-向数据库提交时间

Javascript Vanilla JS秒表-向数据库提交时间,javascript,stopwatch,Javascript,Stopwatch,我一直在一个网站上使用Vanilla JS Stopwatch脚本,但我需要抓取最后一次并将其提交到数据库 我找到了在控制台中显示和登录时间为HH:MM:SS的代码,但是我找不到一种方法来获取最后的时间并将其添加到表单字段中 我只是想知道是否有人做过类似的事情,将时间拉到字段的值中,以便提交 00:00:00 暂停计时器 启动/恢复计时器 清除计时器 var startTimerButton=document.querySelector('.startTimer'); var pauseTim

我一直在一个网站上使用Vanilla JS Stopwatch脚本,但我需要抓取最后一次并将其提交到数据库

我找到了在控制台中显示和登录时间为HH:MM:SS的代码,但是我找不到一种方法来获取最后的时间并将其添加到表单字段中

我只是想知道是否有人做过类似的事情,将时间拉到字段的值中,以便提交

00:00:00
暂停计时器
启动/恢复计时器
清除计时器
var startTimerButton=document.querySelector('.startTimer');
var pauseTimerButton=document.querySelector('.pauseTimer');
var timerDisplay=document.querySelector('.timer');
var startTime;
var更新时间;
var差异;
tInterval变种;
var保存时间;
var=0;
var运行=0;
函数startTimer(){
如果(!正在运行){
startTime=新日期().getTime();
tInterval=设置间隔(getShowTime,1);
暂停=0;
运行=1;
timerDisplay.style.background=“#fff”;
timerDisplay.style.cursor=“自动”;
timerDisplay.style.color=“黑色”;
startTimerButton.classList.add('lighter');
pauseTimerButton.classList.remove('lighter');
startTimerButton.style.cursor=“自动”;
pauseTimerButton.style.cursor=“指针”;
}
}
函数pauseTimer(){
如果(!差异){
//若计时器从未启动,则不允许暂停按钮执行任何操作
}否则,如果(!暂停){
净空间隔(tInterval);
保存时间=差异;
暂停=1;
运行=0;
timerDisplay.style.background=“#fff”;
timerDisplay.style.color=“#690000”;
timerDisplay.style.cursor=“指针”;
startTimerButton.classList.remove('lighter');
pauseTimerButton.classList.add('lighter');
startTimerButton.style.cursor=“指针”;
pauseTimerButton.style.cursor=“自动”;
}否则{
startTimer();
}
}
函数resetTimer(){
净空间隔(tInterval);
savedTime=0;
差异=0;
暂停=0;
运行=0;
timerDisplay.innerHTML='Start Timer';
timerDisplay.style.background=“#fff”;
timerDisplay.style.color=“#fff”;
timerDisplay.style.cursor=“指针”;
startTimerButton.classList.remove('lighter');
pauseTimerButton.classList.remove('lighter');
startTimerButton.style.cursor=“指针”;
pauseTimerButton.style.cursor=“自动”;
}
函数getShowTime(){
UpdateTime=新日期().getTime();
如果(保存时间){
差异=(updatedTime-startTime)+savedTime;
}否则{
差异=更新时间-开始时间;
}
//var天数=数学下限(差值/(1000*60*60*24));
可变小时数=数学下限((差异%(1000*60*60*24))/(1000*60*60));
风险值分钟数=数学下限((差异%(1000*60*60))/(1000*60));
变量秒=数学地板((差值%(1000*60))/1000);
//var毫秒=数学下限((差值%(1000*60))/100);
var formatted=hours.toString().padStart(2,'0')+:'+分钟.toString().padStart(2,'0')+':'+秒.toString().padStart(2,'0');
console.log(格式化);
小时数=(小时数<10)?“0”+小时数:小时数;
分钟=(分钟<10)?“0”+分钟:分钟;
秒=(秒<10)?“0”+秒:秒;
//毫秒=(毫秒<100)?(毫秒<10)?“00”+毫秒:“0”+毫秒:毫秒;
timerDisplay.innerHTML=小时+':'+分钟+':'+秒;
}

谢谢。

到底是什么问题?获取最终时间,还是将其设置为表单?顺便问一下,为什么是表格?如果您想将它提交到后端,为什么不直接使用fetch发送它呢?您好,我正在尝试获取提交到php mysql数据库的表单字段值的最后发布时间。这是表单内部的一个字段,它提交其他位,如用户的日期和id,这些位已经在我正在处理的系统上设置好了。我就是想不出一种方法来抓取时间,让它成为表单字段中的一个值,或者甚至在php中重复它,然后这样做。
<div class="timer" onClick="startTimer()">00:00:00</div>
<div class="row" style="font-size:16pt; width:100%">
<div class="4u">
<div onClick="pauseTimer()" class=" hidebtn">
PAUSE TIMER</div>
</div>
<div class="4u">
<div onClick="startTimer()" class=" hidebtn">
START/RESUME TIMER</div>
</div>
<div class="4u">
<div onClick="resetTimer()" class=" hidebtn">
CLEAR TIMER
</div>
</div>
</div>

var startTimerButton = document.querySelector('.startTimer');
var pauseTimerButton = document.querySelector('.pauseTimer');
var timerDisplay = document.querySelector('.timer');
var startTime;
var updatedTime;
var difference;
var tInterval;
var savedTime;
var paused = 0;
var running = 0;

function startTimer(){
if(!running){
startTime = new Date().getTime();
tInterval = setInterval(getShowTime, 1);
paused = 0;
running = 1;
timerDisplay.style.background = "#fff";
timerDisplay.style.cursor = "auto";
timerDisplay.style.color = "black";
startTimerButton.classList.add('lighter');
pauseTimerButton.classList.remove('lighter');
startTimerButton.style.cursor = "auto";
pauseTimerButton.style.cursor = "pointer";
}
}

function pauseTimer(){
if (!difference){
// if timer never started, don't allow pause button to do anything
} else if (!paused) {
clearInterval(tInterval);
savedTime = difference;
paused = 1;
running = 0;
timerDisplay.style.background = "#fff";
timerDisplay.style.color = "#690000";
timerDisplay.style.cursor = "pointer";
startTimerButton.classList.remove('lighter');
pauseTimerButton.classList.add('lighter');
startTimerButton.style.cursor = "pointer";
pauseTimerButton.style.cursor = "auto";
} else {
startTimer();
}
}

function resetTimer(){
clearInterval(tInterval);
savedTime = 0;
difference = 0;
paused = 0;
running = 0;
timerDisplay.innerHTML = 'Start Timer';
timerDisplay.style.background = "#fff";
timerDisplay.style.color = "#fff";
timerDisplay.style.cursor = "pointer";
startTimerButton.classList.remove('lighter');
pauseTimerButton.classList.remove('lighter');
startTimerButton.style.cursor = "pointer";
pauseTimerButton.style.cursor = "auto";
}

function getShowTime(){
updatedTime = new Date().getTime();
if (savedTime){
difference = (updatedTime - startTime) + savedTime;
} else {
difference =  updatedTime - startTime;
}
// var days = Math.floor(difference / (1000 * 60 * 60 * 24));
var hours = Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((difference % (1000 * 60)) / 1000);
//var milliseconds = Math.floor((difference % (1000 * 60)) / 100);

var formatted = hours.toString().padStart(2, '0') + ':' + minutes.toString().padStart(2, '0') + ':' + seconds.toString().padStart(2, '0');

console.log(formatted);


hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
seconds = (seconds < 10) ? "0" + seconds : seconds;
//milliseconds = (milliseconds < 100) ? (milliseconds < 10) ? "00" + milliseconds : "0" +              milliseconds : milliseconds;
timerDisplay.innerHTML = hours + ':' + minutes + ':' + seconds;
}