我想把一个计时器放在打开的盒子上。我把它放在我的按钮上
NetworkStream
这是我的函数,它调用我的控制器并在15分钟后关闭案例。
<input type="submit" value="Checkout" name="submitAction" class="btn btn-block alert-success" onclick="unlockcase()" />
它击中了功能和控制器,但它在没有定时器工作的情况下立即发生。任何帮助将不胜感激。
答案 0 :(得分:1)
首先将您的html
更改为此
<button type="button" class="btn btn-block alert-success" onclick="unlockcase()">Checkout</button>
然后您的javascript
可以跟随
function unlockcase() {
setTimeout(function () {
var id = @Model.ID;
$.ajax({
type: 'POST',
url: '/Case/UnlockCase',
data: 'id=' + id,
success: function () {
window.location.reload(true);
}
});
}, 15 * 1000 * 60);
}
setTimeoout
中的等待时间单位为millisecond
,因此15 * 1000
表示15秒,15 * 1000 * 60
表示15分钟。
答案 1 :(得分:0)
如果您正在使用jQuery,为什么不在按钮上使用.click()
事件。像这样:
HTML:
<input type="submit" value="Checkout" name="submitAction" class="btn btn-block alert-success myButton" />
使用Javascript:
$('.myButton').click(function() {
var counter = 1;
var timer = setInterval(function(){
if(counter > 900000){ //If it passed 15 minutes.
//DO YOUR AJAX CALL
var id = @Model.ID;
$.ajax({
type: 'POST',
url: '/Case/UnlockCase',
data: 'id=' + id,
success: function () {
window.location.reload(true);
}
});
//Clear the loop
clearInterval(timer);
}
counter++;
}, 1000);
});
JSFiddle:http://jsfiddle.net/hoggen1o/