我正在开发一个系统,它会强制会员先填写他们的详细信息,然后才能查看该网站的其他页面。但我不知道如何禁用所有href链接,用户只能按下提交按钮继续。我无法找到如何在1次禁用所有,我只发现禁用href 1 by 1 by id他们需要点击其中一个提交按钮。但我想要的是当用户在特定页面和数据库status = 1
上时它会被禁用,同时href将在status = 2
时启用。
这是profile-page-update.html
中的提交按钮:
<input type="submit" name="submit" onclick="xajax_editprofile(xajax.getFormValues('updateuser')); return false;" style="width:1px; visibility:hidden;">
<a href="#" onclick="xajax_editprofile(xajax.getFormValues('updateuser')); return false;">Save</a></div>
这是我需要禁用的所有链接:
<div class="nav">
<ul>
<li style="margin-left:20px"><a href="index.php">HOME</a></li>
<li><a href="news-listing.php">NEWS</a></li>
<li><a>EVENTS</a>
<ul>
<li><a href="event-listing.php?id=1">UPCOMING EVENTS</a></li>
<li><a href="event-listing.php?id=2">PAST EVENTS</a></li>
</ul>
</li>
<{if !$login}>
<li><a class="open-popup-link" href="#test-popup">COMMUNITY</a></li>
<{else}>
<li><a href="community-listing.php">COMMUNITY</a></li>
<{/if}>
<li><a href="alumni-listing.php">ALUMNI LISTING</a></li>
</ul>
</div>
这是我在互联网上找到的一些代码:
<input type="button" value="Open Drop Down" onclick="disableLinks()" />
function disableLinks() {
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
var link = links[i];
link.removeAttribute('href');
}
答案 0 :(得分:2)
从技术上讲,您可以使用不使用jQuery的getElementsByName
或使用jQuery <a>
遍历所有$("tagName")
元素来禁用链接。
但我认为这不是你需要的。
如果你的意图是:
要隐藏链接以防止用户转到表单目标以外的任何地方,只需创建一个只包含表单,其提交按钮以及其他内容的页面,尤其是没有链接。
如果您只是通过JavaScript播放网页链接,任何人都可以查看网页来源并恢复链接,以便绕过表单并导航到特定网页。
要阻止用户访问网站上的任何其他内容(或访问某些受限资源),请使用服务器端安全检查,如果用户无权访问资源,则使用自动重定向。如果您正在使用框架,很可能该功能已经实现并用于区分经过身份验证的用户和来宾:经过身份验证的用户将能够访问特定资源,而访客将被框架重定向到日志 - 页面。
如果您只是隐藏页面上的链接,但不要在服务器端对&#34;受保护的&#34;进行任何安全检查。页面,任何已经使用过该网站的人(或者知道有人做过的人)都会知道要输入的确切链接,再次绕过该表单。
答案 1 :(得分:1)
使用jQuery
这将在页面加载后禁用所有<a>
。
$(function(){
$("a").on("click", function(){return false;});
})
你只需要在下面运行再次启用它们
$("a").off("click");
答案 2 :(得分:0)
您可以使用jQuery来阻止Click事件的默认事件侦听器,同时希望禁用链接,然后在允许用户再次导航时解除绑定。
//remove click ability
$("a").click(function(e){e.preventDefault()});
//reset
$("a").unbind('click');
如果你有一些点击监听器,你需要一些其他的工作,你想在某些链接上保持活跃等。