[英]How to disable all href on a web page? Can it be done with javascript?
我正在使用一個系統,該系統將強制成員首先填寫其詳細信息,然后只能查看該網站的其他頁面。 但我不知道如何禁用所有href鏈接,用戶只能按“提交”按鈕才能繼續。 我找不到如何一次全部禁用的方法,我只發現按ID逐個禁用href 1,條件是他們需要單擊一個提交按鈕。 但是我想要的是,當用戶在特定頁面上並且數據庫status = 1
時,它將禁用,而status = 2
時,href將被啟用。
這是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');
}
從技術上講,您可以通過使用不帶jQuery的getElementsByName
或jQuery的$("tagName")
遍歷所有<a>
元素來禁用鏈接。
我想這不是您所需要的。
如果您的意圖是:
要隱藏鏈接以防止用戶除到達表單目標之外的其他任何地方,只需創建一個僅包含表單,其提交按鈕,沒有其他內容(尤其是沒有鏈接)的頁面。
如果您只是通過JavaScript播放頁面的鏈接,那么任何人都可以查看頁面的源並恢復鏈接,從而繞過表單並導航到特定頁面。
為了防止用戶訪問網站上的其他任何內容(或訪問某些受限制的資源),然后在服務器端使用安全性檢查,如果用戶無權訪問資源,則使用自動重定向。 如果您使用的是框架,則很有可能已經實現了該功能,並已用於區分經過身份驗證的用戶和訪客:已認證的用戶將能夠訪問特定資源,而訪客將被框架重定向到登錄頁。
如果您只是隱藏頁面上的鏈接,但不對“受保護”頁面上的服務器端進行任何安全檢查,那么以前使用過該網站(或知道這樣做的人)的任何人都將知道要輸入的確切鏈接,再次繞過表格。
使用jQuery
這將在頁面加載后禁用所有<a>
。
$(function(){
$("a").on("click", function(){return false;});
})
您只需要在下面運行即可再次啟用它們
$("a").off("click");
當您要禁用鏈接時,可以使用jQuery來防止click事件的默認事件偵聽器,然后在允許用戶再次導航時取消綁定。
//remove click ability
$("a").click(function(e){e.preventDefault()});
//reset
$("a").unbind('click');
盡管如果您需要一些單擊偵聽器,但要在某些鏈接等上保持活動狀態,這可能需要做一些其他工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.