0

データベースのデータを表示していますが、ユーザーが特定のチェックボックスをクリックしたときに結果を更新したいと考えています。

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>

$_POSTチェックボックスが選択されているかどうかを確認しようとした最初のphpは次のとおりですが、それは機能せず$_GET、同じことを何度も試しました。問題は、チェックボックスが選択されていても、以下のコードがテーブル 1 を無視してテーブル 2 の結果を表示することです。

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">
4

1 に答える 1

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 に 2 番目の境界を含めるように編集

于 2013-08-08T07:34:41.593 に答える