2011-05-03 43 views
0

我只想點擊鏈接時顯示「免費聊天」鏈接。它必須顯示一個選項"yes""no"的下拉菜單。點擊鏈接以顯示下拉菜單

鏈接一定不能去任何地方,只有當選擇"yes"它必須重定向到一個頁面。

我目前擁有的代碼:

<a href="" id="link" name="link" onClick="yesnolist(1)">Free Chat</a> 

和我的javascript:

<script type="text/JavaScript"> 
    function yesnolist() 
    { 
    var e = document.getElementById("link"); 
    var strUser1 = e.options[e.selectedIndex].value; 
    if (strUser1 == "1") 
     window.location.href = "http://........."; 

    return strUser1; 
    } 
</script> 

回答

4

我不知道我理解你的問題很好。

我認爲你所說的鏈接:

<a href="" id="link" name="link" onClick="yesnolist(1)">Free Chat</a> 

現在,有人點擊時,你想讓它創建一個下拉列表?我不確定您的意思是在錨點元素旁邊的下拉列表,還是使用下拉列表替換錨點元素。

我會建議,在任何時候,使用jQuery JavaScript的,但因爲它似乎你不使用它:

<a href="#yesno" id="link" name="link">Free Chat</a> 
<select id="yesno_id" name="yesno" style="display:none;"> 
    <option value="1">Yes</option> 
    <option value="2">No</option> 
</select> 

我們不會顯示下拉然而,即使它已經存在。現在我們將一個監聽器添加到#link和#yesno_id中(請注意,下面的代碼要麼位於標籤之前,要麼應放置在主體監聽器中)。

<script type="text/javascript"> 
document.getElementById('link').addEventListener('click', function() { 
    var yesno = document.getElementById('yesno_id'); 
    yesno.style.display = 'block'; 
    yesno.addEventListener('change', function() { 
     if (this.value === '1') { 
      window.location.href = "http://........."; 
     } 
     else { 
      this.style.display = 'none'; 
     } 
    }, true); 

}, true); 
</script> 

我沒有測試它在所有,將最有可能有錯誤(我甚至沒有把它寫在一個編輯器),但它應該給你的總體思路。

這裏我們使用不顯眼的javascript:我們不會在HTML上添加對JavaScript的任何引用。我們只需要id和類,就像任何沒有JS的HTML一樣。然後,我們使用JavaScript訪問HTML元素,除此之外,我們綁定click和change事件處理程序(對應於每個元素)。

如果用戶點擊鏈接,然後選擇否,它將隱藏下拉菜單,如果它顯示爲yes,它將重定向到您所說的網址。實際上在錨點的href上有鏈接並取消事件傳播會很好。然後從yesno_id事件處理程序中獲取href並重定向到該處理程序。這樣,如果JS被禁用,它會直接帶你到頁面(儘管它不會「確認」)。

+0

謝謝我哇nt在用戶點擊linnk然後從下拉列表中顯示免費聊天鏈接旁邊的下拉列表,如果用戶選擇YES,那麼它會轉到「http:// ......」希望這是有道理的? 謝謝 – 2011-05-03 09:48:30

+0

你有沒有試過這段代碼?我只是試了一下,它的工作。請檢查它是否符合你的要求。最有可能的是,如果全部瞭解,你只需要改變CSS。 – Mamsaac 2011-05-03 09:51:41

1

實際上我不知道你想做什麼..但嘗試下面的代碼爲您的任務。

<a href="" id="link" name="link" onClick="yesnolist()">Free Chat</a> 


<script type="text/JavaScript"> 
    function yesnolist() 
    { 
    var e = confirm('are you want to sure...?'); 

    if (e == ture) 
     window.location.href = "http://........."; 
     else 
     return false; 

    } 
</script> 

這可能有助於你..

感謝。

+0

Javascript的'confirm()'函數是這樣做的一個非常基本的方法。它甚至不允許「是/否」選項,只有「確定/取消」。如果可能,我會避免它。 – Spudley 2011-05-03 09:46:30

+0

謝謝大家,我明白了! – 2011-05-03 09:54:20

+0

只是最後一個問題請: 我可以做到這一點:")">Free Chat我需要傳遞一個值profile_id – 2011-05-03 11:28:12

-2

塊引用 inintial加載頁面隱藏該div

當點擊股利放映延遲1000

塊引用

ü會得到這樣一個下拉visiual