サーバーの結果をチェックするJavaScriptファイルがあります。一定回数試行しても結果が得られない場合は、ページにボタンを追加して、ユーザーが手動で結果を確認できるようにします。ただし、追加するとボタンが機能しませんでした。ボタンの範囲内で機能を取得するために何かをする必要がありますか?
ボタンを追加するコードは次のとおりです。
$('.submitter').after("<span class='btn' onClick=delayDoing(0)>Check again</span>")
何もしない次のボタンを作成しました:
<span class="btn" onclick="delayDoing(0)">Check again</span>
以下はjavascriptのファイルです。(私はそれを短くし、ERB のものをいくつか削除しました。)
function delayDoing(attempts){
setTimeout(function(){checkServer(attempts)}, 3000);
}
function checkServer(attempts){
if ($('.results').css('opacity') === '0') { //no results
if(attempts < 4) {
// {code to check for results...}
delayDoing(attempts+1);
}
else{
$('.submitter').after("<span class='btn' onClick='delayDoing(0)'>Check again</span>")
}
}
}
jQuery(function() {
delayDoing(0)
});