2012-05-10 27 views
0

我有一个PHP页面中的<div>标记内的5个(说)链接。当访问者点击任何一个链接时,所有5都必须被禁用。如何使这成为可能?我有一些想法,使用户点击链接禁用点击任何一个链接时将被禁用的链接集

<a href="someaction" onClick='this.disabled=true;'>LINK 1</a> 
<a href="someaction" onClick='this.disabled=true;'>LINK 2</a> 
<a href="someaction" onClick='this.disabled=true;'>LINK 3</a> 
<a href="someaction" onClick='this.disabled=true;'>LINK 4</a> 
<a href="someaction" onClick='this.disabled=true;'>LINK 5</a> 

所以,如果我点击链接1只有链接1将被禁用。我需要禁用所有5个链接(只有这五个链接不在页面中的其他链接)。

建议我简单,最好的办法:)

+0

当用户重载页面是什么?链接是否应该再次点击? – shadyyx

回答

1

不知道这是否是最好的方法,但肯定会完成这项工作。

function removeLink(id){ 
    document.getElementById(id).innerHTML = 'LINK 1<br />LINK 2<br />LINK 3<br />LINK 4<br />LINK 5<br />'; 

} 

<span id="removeLinkId"> 
    <a href="someaction" onClick="removeLinks('removeLinkId');">LINK 1</a> 
    <a href="someaction" onClick="removeLinks('removeLinkId');">LINK 2</a> 
    <a href="someaction" onClick="removeLinks('removeLinkId');">LINK 3</a> 
    <a href="someaction" onClick="removeLinks('removeLinkId');">LINK 4</a> 
    <a href="someaction" onClick="removeLinks('removeLinkId');">LINK 5</a> 
</span> 
+0

我不太喜欢这种方法......来自@antyrat的那个更好,更简单。 – shadyyx

+0

我也没有。但截至目前,它正在为所有5个链接工作。这种情况有点不寻常。 –

3

<a>标签不支持disabled属性,只有inputtextareabutton一样。

如果你想联系的非点击就可以空href属性:

<a href="someaction" onClick='this.href="";'>LINK 5</a> 

或者你也可以效仿disabled属性:

<a href="someaction" onClick='if(this.disabled){ return false; } else { this.disabled = true; }'>LINK 5</a> 

这将防止未来的点击。

+0

哎呀!好的,是否有任何可能禁用所有链接时,单击任何链接? –

+0

我已经更新了我的回答 – antyrat

+0

好吧!改变了想法让我在那里使用5个按钮。有任何可能性,当任何pne点击禁用所有的5个按钮? –

0

HTML:

<a href="www.google.se" id="foo">LINK 1</a> 

的Javascript:

//Get the element you need. 
var a = getElementById("foo"); 

//Remember to use the REFERENCE, not actually CALLING the callback. 
a.onclick = callback; 

function callback() { 
    //a.setAttribute("style", "display:none;"); 
    a.removeAttribute("href"); 
    return false; //Stop the event (don't navigate 
} 

的JavaScript JQUERY:

//Get the element and bind it in one "line". 
var a = $("a#foo); 
a.bind(
    "click", 
    function() { 

     a.hide(); 
     a.removeAttr("href"); 

     //Stop the event from bubbling 
     return false; 
    });