簡體   English   中英

保存頁面重新加載時的javascript復選框狀態?

[英]Save javascript checkbox state on page reload?

我在這里有這段代碼:

<head>
    <script language="javascript">
        var showMode = 'table-cell';
        if (document.all) showMode='block';

        function toggleVis(btn){
            btn   = document.forms['tcol'].elements[btn];
            cells = document.getElementsByName('t'+btn.name);
            mode = btn.checked ? showMode : 'none';
            for(j = 0; j < cells.length; j++) cells[j].style.display = mode;
        }
    </script>

</head>
<body>
   <h1>Andmete kustutamine</h1>
   <hr>
   <div id="mainbox">
        <form name="tcol" onsubmit="return false">
            <p id="rand">Kuvatavad tulbad:</p>

            <table class="tabl">
                <tr>
                    <td id="nobord"><input type=checkbox name="col1" onclick="toggleVis(this.name)" checked> Osakond</td>
                    <td id="nobord"><input type=checkbox name="col2" onclick="toggleVis(this.name)" checked> Soetusaasta</td>
                    <td id="nobord"><input type=checkbox name="col3" onclick="toggleVis(this.name)" checked> IT Number</td>
                    <td id="nobord"><input type=checkbox name="col4" onclick="toggleVis(this.name)" checked> Tooterühm</td>
                </tr>
                <tr>
                    <td id="nobord"><input type=checkbox name="col5" onclick="toggleVis(this.name)" checked> Mudeli nimetus</td>
                    <td id="nobord"><input type=checkbox name="col6" onclick="toggleVis(this.name)" checked> SN</td>
                    <td id="nobord"><input type=checkbox name="col7" onclick="toggleVis(this.name)" checked> Riigivara nr</td>
                    <td id="nobord"><input type=checkbox name="col8" onclick="toggleVis(this.name)" checked> Inventaari nr</td>
                </tr>
                <td id="nobord"><input type=checkbox name="col9" onclick="toggleVis(this.name)" checked> Maja</td>
                <td id="nobord"><input type=checkbox name="col10" onclick="toggleVis(this.name)" checked> Ruum</td>
                <td id="nobord"><input type=checkbox name="col11" onclick="toggleVis(this.name)" checked> Vastutaja</td>
                <td id="nobord"><input type=checkbox name="col12" onclick="toggleVis(this.name)" checked> Märkus</td>
                <tr>
                    <td id="nobord"><input type=checkbox name="col13" onclick="toggleVis(this.name)" checked> ID</td>
                    <td id="nobord"><input type=checkbox name="col14" onclick="toggleVis(this.name)" checked> Kasutajanimi</td>
                </tr>
            </table>
        </form>

一旦切換了某些復選框,它應該隱藏列。 我的問題是,每當我重新加載頁面時,框中的對勾就會消失,並且列再次出現。 有沒有辦法禁用它? 提前致謝!

刷新頁面時,您將無法保留本地javascript值,因此您將不得不將這些值保存在HTML5本地存儲中,或者創建一個cookie並將這些值存儲在其中。

您可以使用javascript將其存儲在cookie中,或者使用php,可以將其存儲在$ _SESSION值內並在列上插入條件。
例:

<?php if(!isset($_SESSION['display_column'])){ ?>insert html <?php } ?>

如果您需要隱藏多個列,則可以使用一個數組(可以將其始終存儲在會話中)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM