在一个按钮上调用一个JS函数点击刷新页面
我有一个ASP页面,它有一个JS函数在HTML输入按钮上单击调用,但每次点击按钮时,页面都会重新加载并返回初始状态。在一个按钮上调用一个JS函数点击刷新页面
我都在服务器和客户端禁用缓存,使用这些标签
<%
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
%>
和
<meta http-equiv="Expires" CONTENT="0"/>
<meta http-equiv="Cache-Control" CONTENT="no-cache"/>
<meta http-equiv="Pragma" CONTENT="no-cache"/>
我试图找出是什么,这是造成页面刷新的问题按钮点击,而不是调用JS函数,但没有骰子。
至于问这里是按钮的代码
<button class="textinput" id ="reloadData" onclick="reloadData()" title="Reload Data">Refresh</button>
,并呼吁
function reloadData() {
var DPS = document.getElementById("datepickerStart").value;
var DPE = document.getElementById("datepickerEnd").value;
var startDP = new Date(DPS);
var endDP = new Date(DPE);
var startDate = (startDP.format("isoDateTime")).replace(/:/g, '\\:');
var endDate = (endDP.format("isoDateTime")).replace(/:/g, '\\:');
layer.redraw();
}
我不认为这有做一些与调用的函数,因为它是功能只需重新调整过滤器中的值即可。
该按钮可能会导致回发。它是否以一种形式存在?
让javascript函数返回false以防止回发。
该按钮不是在窗体中,一切都在客户端处理,实际上我没有处理数据库。 – TheZelus 2012-03-06 03:19:21
重复使用reloadData
在<... id ="reloadData" onclick="reloadData()" ...>
可能会在某些浏览器中出现问题,但您不会期望它。
在任何情况下,尽量安装在javascript onclick句柄而不是HTML,如下所示:
HTML:
<button class="textinput" id="reloadData" title="Reload Data">Refresh</button>
的Javascript:
window.onload = function(){
var reloadDataButton = document.getElementById('reloadData');
var DPS = document.getElementById("datepickerStart");
var DPE = document.getElementById("datepickerEnd");
if(reloadDataButton && DPS && DPE){
reloadDataButton.onclick = function(){
var startDP = new Date(DPS.value);
var endDP = new Date(DPE.value);
var startDate = (startDP.format("isoDateTime")).replace(/:/g, '\\:');
var endDate = (endDP.format("isoDateTime")).replace(/:/g, '\\:');
layer.redraw();
}
};
}
};
(合并与现有的window.onload处理程序)
如果这样不能解决问题,并且该按钮确实不是一种形式,那么问题必然在于layer.redraw();
(或window.onerror处理程序)。尝试注释掉layer.redraw();
,看看会发生什么。
需要单击按钮时应执行的按钮代码和代码。 – Eli 2012-03-06 01:42:51
这与缓存无关。 – 2012-03-06 01:46:28
尝试'onclick =“reloadData();返回false;' – Stefan 2012-03-06 06:52:30