javascript - 如何使用 Javascript 创建一个 10 分钟自动提交 HTML 表单的计时器。 (提交后空白字段自动设置值为0)

标签 javascript jquery html timer

自从我处理这个 jquery 问题以来已经有一段时间了,但现在,我被这个问题所困扰,即使用 jquery 或 javascript 在 HTML 中创建倒数计时器以提交表单。

我在互联网上搜索了很多,甚至在这个网站上也搜索过,但它并没有真正帮助我创建代码的方式。它是这样显示的。

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <title>GHS Applicant Exam Tool</title>
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

这个是定时器的脚本代码

    <script type="text/javascript">
    var total_seconds =60*10;
    var c_minutes = parseInt(total_seconds/60);
    var c_seconds = parseInt(total_seconds%60);
    function CheckTime(){
    document.getElementById("quiz-time-left").innerHTML
    ='Time Left: ' + c_minutes + ' minutes ' + c_seconds + ' seconds ' ;
    if(total_seconds <=0){
        setTimeout('document.quiz.submit()',1);
    } else{
        total_seconds = total_seconds -1;
        c_minutes = parseInt(total_seconds/60);
        c_seconds = parseInt(total_seconds&60);
        setTimeout("CheckTime()",1000);
    }}
    setTimeout("CheckTime()",1000);
    </script>

    <style>
    </style>
    </head>
    <body>

这个 div 样式是用来显示倒数计时器的样式

  <div class="content">
   <div style="font-weight: bold" id="quiz-time-left"></div>

返回html代码提交表单

    <center><h3>GHS Applicant Assessment Tool</h3></center>

    <h5><p>This exam is an assessment tool to help us place you in the correct account.</p></h5>
    <p>* Required</p><br>

    <form name="quiz" id="myquiz" onsubmit="return validate()" method="post" action="/ghs/ghsadd.php" 
    enctype="multipart/form-data">


    Last name*<br>
    <input type="text" name="last_name" ><br>

    First name*<br>
    <input type="text" name="first_name" ><br>

    Middle Initial<br>
    <input type="text" name="middle_initial" ><br><br>


    <p>Highest Educational Attainment*</p>

    <input type="radio" name="educ_attain" value="hsalsgrad"> High School Graduate / ALS Graduate<br>
    <input type="radio" name="educ_attain" value="shsgrad"> Senior High School Graduate<br>
    <input type="radio" name="educ_attain" value="undergrad1"> College Undergraduate 1 year<br> 
    <input type="radio" name="educ_attain" value="undergrad2"> College Undergraduate 2 years<br> 
    <input type="radio" name="educ_attain" value="undergrad3"> College Undergraduate 3 years<br> 
    <input type="radio" name="educ_attain" value="undergrad4"> College Undergraduate 4+ years<br>
    <input type="radio" name="educ_attain" value="collegegrad"> College Graduate<br>

    <hr>

    <p>Logic and Reasoning</p>

    <p>You will be given 5 minutes to complete this portion.</p><br>

    <p>The 4:25 P2P bus takes 1 hour and 45 minutes to arrive in 
    Trinoma. If Joseph takes this bus, what time will he arrive in 
    Trinoma? *</p>

    <input type="radio" name="logic1" value="0" required> 7:05 <br>
    <input type="radio" name="logic1" value="0" required> 6:25<br>
    <input type="radio" name="logic1" value="1" required> 6:10<br>
    <input type="radio" name="logic1" value="0" required> 5:55<br>

    <br>

    <p>Janine’s shoes cost $44.50, her pants cost $20.80 and her t-shirt
    cost $14.95. What is the total of her purchases? *</p>

    <input type="radio" name="logic2" value="0" required> 85.25<br>
    <input type="radio" name="logic2" value="1" required> 80.25<br>
    <input type="radio" name="logic2" value="0" required> 82.55<br>
    <input type="radio" name="logic2" value="0" required> 80.55<br>

    <input name="submit" name="submitbutton" type="submit" value="Submit"></input>

    </form>

代码并不像初学HTML和javascript那么复杂,应该很容易理解。我没有包括输入类型设置为 radio 、文本、文本区域等的所有问题,因为它会在这里占用太多空间。现在,我想要发生的是当倒计时在 10 分钟后停止时,它会自动提交 (action="/ghs/ghsadd.php) 新表单中的调查问卷。但是现在,我没有工作,只是在 0 秒后停止计数。我知道应该添加或更改代码的语法才能使这项工作正常进行。我们将不胜感激任何帮助或建议。提前致谢!

最佳答案

function CheckTime(){
document.getElementById("quiz-time-left").innerHTML
='Time Left: ' + c_minutes + ' minutes ' + c_seconds + ' seconds ' ;
if(total_seconds <=0){
    clearInterval(intervalVariable);

    $("#submit_button_id").click()

} else{
    total_seconds = total_seconds -1;
    c_minutes = parseInt(total_seconds/60);
    c_seconds = parseInt(total_seconds&60);
}}
var intervalVariable = setInterval(CheckTime,1000)

关于javascript - 如何使用 Javascript 创建一个 10 分钟自动提交 HTML 表单的计时器。 (提交后空白字段自动设置值为0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59574094/

相关文章:

javascript - 如何在运行 Mongodb 的 Mongoose 中执行脚本?

javascript - 如何在字符串中的数字中添加逗号

javascript - 如何将突出显示的文本从textarea提交到数据库

javascript - 如果一组元素的属性为 ID,则过滤这些元素

java - 使用ajax提交表单时无法阻止默认表单提交

javascript - 如何通过javascript清除输入类型="datetime"

javascript - 如何使后退按钮仅在用户从我的网站导航到该页面时才出现?

javascript - 隐藏表行未显示正确信息

javascript - 使用 Angular 在 html 中打印 json 用户 ID

html - :after is overlapping main div when hovering when I use transform: scale