ユーザー登録フォームがあります。ユーザー フォームが xx 秒 (5 秒) 以内に入力されたかどうかを確認する必要があります。5 秒未満の場合は、フォームの送信を無効にします。送信ボタンのクリックを無効にするか、falseを返すなどのようなもの。
jquery スクリプトをいくつか書きましたが、正しく動作しません。
サンプルフォームはこちら。
<form id="registerform" class="registerform" method="post"/>
<input type="text" name="username" id="username" />
<input type="text" name="email" id="email" />
<input type="submit" name="submit" id="submitBtn" value="Submit" />
</form>
ここにjqueryスクリプトがあります。
<script type=javascript>
jQuery.noConflict();
jQuery(document).ready(function ($) {
var typingTimer; //timer identifier
var doneTypingInterval = 5000; //time in ms, 5 second for example
var checktime = 0;
jQuery('form#registerform').find(':input').each(function(){
jQuery(this).keyup(function(){
typingTimer = setTimeout(doneTyping, doneTypingInterval);
});
jQuery(this).keydown(function(){
clearTimeout(typingTimer);
});
});
function doneTyping () {
checktime = typingTimer;
return checktime;
}
jQuery('form#registerform').submit(function() {
checktime = doneTyping ();
var timerInsec = (doneTypingInterval/1000);
if(checktime < timerInsec) {
return false; // disable form submit
} else {
// if user take to fill the form more than 5 seconds, submit the form
return true;
}
});
});
</script>
wordpressの登録フォームに統合する必要があるので試してみました。誰かがこれに対する解決策/解決策を持っている場合は、私を助けてください。本当に感謝しています。
ありがとうございました