簡體   English   中英

如何重新提交HTML表單

[英]How to re-submit HTML form

編輯:我犯了一個愚蠢的錯誤。 我使用的是一些舊代碼,單擊start后,其start顯示為灰色。 現在都固定了。 經驗教訓:如果文件足夠小,則逐行解析代碼。

我在html中有一個表單,該表單在javascript中調用了一個名為callStopwatch()的函數。 第一次提交表單時,該函數執行得很好。 但是,再次單擊“ submit按鈕不會執行任何操作。 刷新頁面可以解決問題,但我希望能夠點擊submit並返回callStopwatch()而不必多次刷新。 我究竟做錯了什么?

HTML:

<form id="options" action="" onsubmit="return callStopwatch()" method="post">

<fieldset>

<label> foo:

<input type="text" class="textForm" name="foo" size="2" /> foo1

</label>

<input type="submit" id="submit" class="button" alt="start" value="Start" />

<input type="reset" id="clear" class="button" alt="clear" value="Clear" />

<input type="button" id="reset" class="button" alt="reset" value="Reset" />

</fieldset>

</form>

JS:

var isRunning = false; // flag purposes

function callStopwatch() {
    var timer = document.getElementById('timer');
    var toggleBtn = document.getElementById('submit');
    var resetBtn = document.getElementById('reset');
    var clearBtn = document.getElementById('clear');

    watch = new Stopwatch(timer);
    watch.start();
    isRunning = true;

    resetBtn.addEventListener('click', function() {
        watch.stop();
        watch.reset();
        document.getElementById("submit").disabled = false;
    });

    clearBtn.addEventListener('click', function() {
        watch.stop();
        watch.reset();
        document.getElementById("submit").disabled = false;
    });
}

navigator.mediaDevices.getUserMedia({ audio: true})
---more code here---
    .then(function(stream) {
            if(arbitrary_condition = true){
                watch.stop();
                isRunning = false;
            }
})

我知道上面是很多代碼。 我不知道在哪里尋找問題。 當我單擊“ submit ,該表單應該再次運行我的秒表,盡管不是這樣。 單擊reset然后start就可以了,但是我希望能夠單擊start而無需重置。

編輯:我嘗試為開始按鈕添加另一個eventlistener,但未按預期工作。 也許我做錯了。

我不知道這是否是您的問題,但這是:

if(arbitrary_condition = true)

幾乎可以肯定不是您想做什么(=用於分配,==或===用於比較)

暫無
暫無

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

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