单击此按钮,我的脚本将运行函数manage($n)
$onclick = "manage('$n');";
但是我想在页面被点击后立即刷新页面。
$onclick="window.location.reload(true);manage('$n')";
由于刷新速度很快,我希望在运行前将管理功能延迟3秒,但延迟不起作用。
$onclick="window.location.reload(true);setTimeout(manage('$n'),300);";
<input class='button' onclick=\"$onclick\" ></td>
答案 0 :(得分:0)
你需要这样做:
$onclick="window.location.reload(true);setTimeout(function(){manage('$n')},3000);";
修改强>
window.location.reload
重新加载页面并重新初始化javascript。所以你不能等待它完成。这也不能有任何回调。因此,您需要在manage
上运行document.ready()
功能。您可以在重新加载页面之前设置cookie。重新加载后,检查cookie是否设置,运行manage
功能:
$onclick="document.cookie='reload=true';window.location.reload(true);"
现在,将此代码添加到页面的开头:
$(document).ready(function(){
if (document.cookie.indexOf("reload") >= 0)
{
manage('$n');
//set expires parameter to a passed date for deleting cookie
document.cookie = "reload=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
}
});
我认为cookie对您来说是一个很好的解决方案。有关javascript Cookie的更多信息,请refer to this link.
答案 1 :(得分:0)
if(!window.location.callAfterRelod)
{
var a={};
a.manage=manage;
window.location.callAfterReload=JSON.stringify(a);
window.location.reload(true);
}
else
JSON.parse(window.location.callAfterReload).manage($n);