我正在显示数据库中的数据,我想在用户点击特定复选框时刷新结果。
我已将name属性设置为复选框,并尝试使用isset
,但这不起作用,因为我实际上没有表单并使用分页在同一页面上显示结果。如何在不使用<form>
?
以下是我用来刷新页面的javascript(不是结果)
<script type="text/javascript">
var reloading;
function checkReloading() {
if ( window.location.hash == "#autoreload" ) {
reloading=setTimeout("window.location.reload();", 100);
document.getElementById("reloadCB").checked=true;
}
}
function toggleAutoRefresh( cb ) {
if ( cb.checked ) {
window.location.replace("#autoreload");
reloading=setTimeout("window.location.reload();", 100);
} else {
window.location.replace("#");
clearTimeout( reloading );
}
}
window.onload=checkReloading;
</script>
这是php首先我尝试$_POST
来检查复选框是否被选中但是无法正常工作,我也尝试$_GET
并再次尝试相同的事情。问题是,即使选中了复选框,下面的代码也会显示表2忽略表1的结果。
try {
if ( isset( $_GET["size"] ) ) {
$paginate = new pagination($page, 'SELECT * FROM test1 ORDER BY id desc', $options); exit();
} else {
$paginate = new pagination($page, 'SELECT * FROM test2 ORDER BY id desc', $options);
}
} catch( paginationException $e ) {
echo $e;
exit();
}
html
<input type="checkbox" name="size" onclick="toggleAutoRefresh(this);" id="reloadCB">
答案 0 :(得分:0)
function toggleAutoRefresh( cb ) {
if ( cb.checked ) {
window.location.replace("#autoreload");
reloading=setTimeout(function(){
// get the current url and append the parameter
var url = window.location.href + "?size=1";
window.open(url, '_self'); //open url
}, 100);
} else {
window.location.replace("#");
clearTimeout( reloading );
}
}
希望这会有所帮助。
编辑将第二个边界包含在window.open
中