有下面一行代码:
<a onclick="if(checkvalue()){window.open(this.href+uid);return false;}" href="http://222.com/id=" target="_blank">222</a>我的目的是想在checkvalue()返回值为true的时候,才打开链接http://222.com/id=uid
但是似乎以上代码不能达到目的,不管checkvalue()返回值是否为真,都打开页面http://222.com/id=

解决方案 »

  1.   

    先写个函数带参数就可以了 我以前也碰到这个问题
    var OpenWindow=function(url)
    {
     window.open(url,'','');
    }
    javascript:OpenWindow("a.aspx?id="+uid)
      

  2.   


    function openWin(){
    if(checkvalue()){window.open("http://222.com/id="+uid);}
    }<a onclick=" openWin()" href="javascript:void(0)" target="_blank">222</a>
      

  3.   

    楼上的方法也不可行,不能达到我的目的!checkvalue()返回值为true的时候,a标签才有效,才打开新页面!
      

  4.   

    <a href="javascript:;" onclick="if(checkvalue()){window.open("http://222.com/id="+uid);return false;}" >222</a>
      

  5.   

    要是在不改变href的情况下,怎么实现呢?
      

  6.   

    一般没有你这样写的。href里都不写具体的路径,都是用js控制的路径
      

  7.   

    建议写个函数,然后在onclick 中调用它,就行了!!
      

  8.   

    <a href="test.html" onclick="javascript:return checkvalue();">test</a>
      

  9.   

    这些方法都不可行,前提是href里面的内容是不能更改的。有没有什么好的办法,可以在checkvalue()返回值为true的时候,才打开链接
      

  10.   

    为什么href的值不能变?这又不是说有很多地方引用,如果只是这个地方做判断的话,根本就没必要啊!能讲下原因吗?
      

  11.   


    a 的href标签去掉了还能链接吗?
      

  12.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script language="javascript">
    function retValue(){
    if(checkvalue()){
    var uid="";
    window.open("http://222.com/id="+uid);
    }
    }
    </script>
    </head><body>
    <a href="javascript:retValue();">222</a>
    </body>
    </html>
      

  13.   

    <a onclick="return checkvalue()" href="http://222.com/id=" target="_blank">222</a>9楼的方法改成你自己的href不就行了吗
    IE和FF下测试通过。
      

  14.   

    上面的方法只要返回的不是false就会打开,如果非得返回true才打开的话稍微改一下
    <a onclick="return checkvalue() == true" href="http://222.com/id=" target="_blank">222</a>
      

  15.   

    如果你要求一定要用window.open打开的话可以改成function openTheUrl(url){
      if(checkvalue() === true){
        window.open(url)
      }
      return false
    }<a onclick="return openTheUrl(this.href+uid)" href="http://222.com/id=" target="_blank">222</a>这样就每次都是用window.open打开新窗口
      

  16.   

    你不用<a>算了,直接用一个文本加个onclick算了