2017-10-25 21 views
2

を提出することはできません。は、イベントリスナーを追加+フォームが、私は送信ボタンで簡単な登録フォームを持っている

<input type="submit" value="" class="loginInput" id="submitReg" /> 

と提出し、ページの読み込みとフォームの間のミリ秒単位の時間をmeassureするjavascript関数:

(function() { 
    var element = document.getElementById('submitReg'), 
     start, end; 

    window.onload = function (event) { 
    start = +event.timeStamp; 
    }; 

    element.onclick = function (event) { 
    end = +event.timeStamp; 

    var diff = end - start; // time difference in milliseconds 
    //alert(diff); 
    }; 
})(); 

diff>3000の場合にのみフォームの送信を許可するにはどうすればよいですか?私はreturn true/return falseのようなものを追加すべきだと思いますが、どうすればいいのか分かりません。答えをありがとう!あなたのケースでは

答えて

1

、条件にフォームを送信する - 以下に示すように、あなたのelement.onclickイベントを調整します

... 
element.onclick = function (event) { 
    end = +event.timeStamp; 
    var diff = end - start; // time difference in milliseconds 
    return (diff > 3000)? true : false; 
}; 
... 
0

をフォームを提出することが許可されている場合、あなただけtrueを返すことができます。ここにあなたのコードは、テストで修飾されている "をonSubmit" 機能:

(function() { 
    var element = document.getElementById('submitReg'), 
     the_form = document.getElementById('the_form'), 
     current_time = document.getElementById('current_time'), 
     start, end; 

    window.onload = function (event) { 
    start = +event.timeStamp; 
    }; 

    element.onclick = function (event) { 
    end = +event.timeStamp; 

    var diff = end - start; // time difference in milliseconds 

    console.log(diff); 

    //Allow the form to submit only after 3000 miliseconds 
    if(diff > 3000){ 
     return true; 
    } 
    return false; 
    }; 

    //To test if this works... 
    the_form.onsubmit = function(event){ 
    alert('Form submitted!'); 
    }; 
})(); 

の作業例:https://codepen.io/sixfoot3/pen/qPzgQY

関連する問題