2011-05-03 63 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