簡體   English   中英

ASP.NET MVC5,使用JavaScript創建測驗計時器

[英]ASP.NET MVC5, creating a timer for quiz using javascript

這是我使用的代碼,我無法弄清楚為什么在0秒后表單無法提交到“謝謝”頁面。 我試圖從@using (htmlbeginform())語句調用提交按鈕。 請幫忙。

<form name="counter">
    <input type="text" size="8"
           name="d2">
</form>


<script type="text/javascript">
    var minutes = 1
    var seconds = 00

    document.counter.d2.value = '30:00'

    function display()
    {
        if (seconds <= 0)
        {
            minutes -= 1
            seconds += 59
        }
        if (minutes <= -1)
        **{
            $(document).ready(function () {
                setTimeout(function () { nextQuestion() }, 5000);
                $("#questionform").submit(function () {
                    alert("Submit after 5 second.");
                });
            });
            function nextQuestion() {
                $("#questionform").trigger("submit");
            }

        }**  **PART of code in between ** is where I am having trouble, cant figure out what is wrong**

        else
            seconds -= 1
        document.counter.d2.value = minutes + ":" + seconds
        setTimeout("display()", 1000)
    }
    display()
</script>





@using (Html.BeginForm("ThankYou", "Questions", FormMethod.Post, new { @id = "questionform" }))
{
    @Html.EditorFor(x => x.Questions)

    <input type="submit" id="submit" class="btn btn-default" value="Submit" />
}

嘗試在此處使用此按鈕,以提交零秒

$(document).ready()事件僅在完全加載文檔時觸發,因為您在加載文檔后附加了此事件,因此永遠不會觸發。

您必須采用以下方式:

function nextQuestion() {
            $("#questionform").trigger("submit");
        } //it's better declare your functions outside an if statment

if (minutes <= -1) {           
            setTimeout(function () { nextQuestion() }, 5000);
            $("#questionform").submit(function () {
                alert("Submit after 5 second.");
            }); 
            /*if you submit, 
            the page changes and this alert will never appear*/
        });            
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM