Javascript 如何在页面刷新时保持链接状态

Javascript 如何在页面刷新时保持链接状态,javascript,jquery,html,Javascript,Jquery,Html,我有一个包含4个可点击(href)链接列表的页面。 每个链接都指向同一表单提交页面。 用户提交表单并返回到原始页面,其单击的链接现在被禁用,剩下3个可单击的链接。 可以重复此过程,直到没有剩余的可单击链接。 因此,每个链接只能单击一次。 到现在为止,一直都还不错。。。 但是,如果刷新页面,则会再次启用所有禁用的链接。 “我如何才能防止这种情况发生”。 即使页面刷新,每个链接也只应单击一次。 请问我怎么做? 这是我的html代码 <script type="text/javascript"&

我有一个包含4个可点击(href)链接列表的页面。 每个链接都指向同一表单提交页面。 用户提交表单并返回到原始页面,其单击的链接现在被禁用,剩下3个可单击的链接。 可以重复此过程,直到没有剩余的可单击链接。 因此,每个链接只能单击一次。 到现在为止,一直都还不错。。。 但是,如果刷新页面,则会再次启用所有禁用的链接。 “我如何才能防止这种情况发生”。 即使页面刷新,每个链接也只应单击一次。 请问我怎么做? 这是我的html代码

<script type="text/javascript">
    function check(link) {
        $(link).replaceWith($(link).text());
    }
</script>
<style>

    a:link{
        color:#1DAAA1;
        text-decoration:none;

    }
    a:visited{
        color:#1DAAA1;
    }
    a:hover{
        background-color: #ff7f00;
        color: #FFF;
    }

</style>

</head>
<body style="background-color:#eeeeee">

    <table style="margin-top:200px; width:500px; background-color:#ffffff" align="center" border="5px solid">
        <tr align="center" >
            <td><a href="submitform.php" target="_blank" onclick="return check(this);"> Submission 1 </a></td>
            <td><a href="submitform.php" target="_blank" onclick="return check(this);"> Submission 2 </a></td>
            <td><a href="submitform.php" target="_blank" onclick="return check(this);"> Submission 3 </a></td>
            <td><a href="submitform.php" target="_blank" onclick="return check(this);"> Submission 4 </a></td>
        </tr>

    </table>
</body>

功能检查(链接){
$(link).replace为($(link).text());
}
a:链接{
颜色:#1DAAA1;
文字装饰:无;
}
a:参观了{
颜色:#1DAAA1;
}
a:悬停{
背景色:#ff7f00;
颜色:#FFF;
}

这是解决问题的一种方法

<form action="submitform.php" method="post" name="yourform">
<table>
    <tr style="text-align:center;" >
        <td><a <?php echo $_POST["sub1"] ? "" : "href='#'"?> onclick="document.forms["yourform"].submit()" name="sub1"> Submission 1 </a></td>
        <td><a <?php echo $_POST["sub2"] ? "" : "href='#'"?> onclick="document.forms["yourform"].submit()" name="sub2"> Submission 2 </a></td>
        <td><a <?php echo $_POST["sub3"] ? "" : "href='#'"?> onclick="document.forms["yourform"].submit()" name="sub3"> Submission 3 </a></td>
        <td><a <?php echo $_POST["sub4"] ? "" : "href='#'"?> onclick="document.forms["yourform"].submit()" name="sub4"> Submission 4 </a></td>
    </tr>
</table>
</form>

您还可以禁用链接并将值存储在变量中,如下所示

<a href onclick="storeVar" title="sub1">Submission1</a>
<script>
var arr = [];
function storeVar(e){
    if(arr.indexOf($(e.target).attr("title")) == -1)
        arr.push($(e.target).attr("title"));
    if(arr.length > 3)
        //do something
}
</script>

var-arr=[];
函数storeVar(e){
if(arr.indexOf($(e.target).attr(“title”)==-1)
arr.push($(e.target).attr(“title”);
如果(arr.length>3)
//做点什么
}

您是否在每次单击后将其持久化到数据库中?因为如果您不这样做,则不必重新加载页面。
check()
函数不返回任何内容,因此在执行
返回检查(this)时返回未定义的内容。我根本不明白这是怎么回事。当您单击该链接时,它将使用
submitform.php
返回的内容重新加载页面。Javascript在此页面中所做的任何操作都将丢失。您可以使用
localStorage
来记住哪些链接已被禁用。您的HTML因过时属性而无效。您缺少父级
,并且
align
已过时。如果该值已传递到页面,则会禁用href属性。php与问题无关,他甚至可能没有使用PHPT。他为什么要重定向到“submitform.php”?如果他不使用php,他不会重定向到submitform.html吗?你不需要php来做这件事,但我现在哪里也写不出答案。