2016-08-04 16 views
0

私のサイトに小さな機能を実装しようとしていたjavascriptとiveにはかなり新しいです。ループがWebページでアクティブ化されていません

Iveは特定の変数を定期的にチェックして検証したいと考えました。

コード: あまり書かれていない形式をお詫び申し上げます。私はこれに全く新しいです。あなたは定期的な間隔で機能を実行したいので

function Validate(){ 

    if (RequestedDate == undefined){ 

    }else if(RequestedDate > d){ 
    window.alert("Please select a date 3 days after the current date" + " Current Date : " + $('input.ecwid-productBrowser-details-optionDateField').val()); 
    $('input.ecwid-productBrowser-details-optionDateField').val(null); 
    setTimeout(Validate(), 2000); 
    } 
    } 
window.alert("The validate function has executed atleast once"); 
}) 
</script> 
+0

'setInterval'と' setTimeout'を必要といけないのコールバックであるときは、funcか、他の内部ですべてのコードを置くことができますsetInterval

var intervalID = window.setInterval(func, delay[, param1, param2, ...]); var intervalID = window.setInterval(code, delay); 

の構造に注意してください2つの異なるものです – Li357

+0

こんにちは、同じ方法で動作しないタイムアウトで、関数自体から関数を呼び出すでしょうか?私が間違っていなければ、Pythonのようにしていました。 while、delay、およびbreakメソッドを使用します。もう一度、申し訳ありませんが、私はあなたを取得していない場合。私はこれでかなり新しいです。 –

答えて

0

、あなたの代わりにあなたが外でそれを配置する必要があり、また、あなたは、関数自体の内部で、この非同期関数を入れているのノート代わりにsetTimeout

setIntervalを使用する必要がありますそれ。

また、それはあなたが( & )

function Validate() { 

    if (RequestedDate == undefined) { 

    } else if (RequestedDate > d) { 
    window.alert("Please select a date 3 days after the current date" + " Current Date : " + $('input.ecwid-productBrowser-details-optionDateField').val()); 
    $('input.ecwid-productBrowser-details-optionDateField').val(null); 

    } 
    window.alert("The validate function has executed atleast once"); 
} 
setInterval(Validate, 2000); 
関連する問題