我已經寫了這個js函數,用於每15秒的持續時間調用ajax。 但應根據其他條件使用Javascript中的SetTimeout和clearTimeout
<script type="text/javascript">
var disableReload = '<s:property value="#session[\'EXECUTOR\'] == null" />';
var tId = window.setTimeout(function() {
location.reload(true);
//alert(disableReload);
if(disableReload){
//alert("Clearing");
clearTimeout(tId);
}else{
var url = 'my.action';
var form = document.getElementById('myForm');
var params = Form.serialize(form) + '&ms=' + new Date().getTime();
var myAjax = new Ajax.Request(url, {method: 'post', parameters: params, onComplete: showResponseAction});
}
}, 15 * 1000);
</script>
但當disableReload是真實的限制; clearTimeout不清除/刪除重新加載功能。
我該如何做到這一點。
你錯過了一些代碼。我可以看到情況有點不對。在其他部分。 location.reload(true)將重新加載頁面 – Reddy
@NitinGurram是的,我從你的代碼中複製了它。就像我說的,我試圖通過閱讀你的代碼來理解你的目標,因爲這個問題不是很清楚。 –
我的要求是每1分鐘調用一次ajax函數(比方說)。但我應該能夠根據disableReload變量禁用此功能。所有這些事情都應該在沒有任何按鈕點擊或其他基於用戶的操作的情況下發生 – Reddy