2012-05-10 13 views
0

PHPページの<div>タグの中に5つのリンクがあります。訪問者がいずれかのリンクをクリックすると、すべてのリンクが無効にされなければならない。これを可能にする方法は?私は、ユーザーが、私はLINK 1をクリックした場合にだけそうLINK 1が無効になりますリンクをクリックすると無効になるリンクのセット

<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> 

をクリックした上で無効にリンクを作るためにいくつかのアイデアを持っています。私はすべての5つのリンクを無効にする必要があります(これらの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属性をnullことができます。

<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; 
    }); 
関連する問題