请问:下面代码运行并点击后,为什么看不到输出:我的天啊。而如果超链接href属性值为:#,则一切正常。这是为什么。是执行顺序的问题吗?<html>
<head>
<script type="text/javascript">
function q()
{
document.getElementById('a1').innerHTML = '我的天啊';
}
</script>
</head>
<body>
<a id="a1" href="a.php?m=bian" onclick="q()">点击我会有变化啊。</a>
</body>
</html>
<?php
echo $_GET['m'];
?>

解决方案 »

  1.   

    需要 onclick 函数里面 return true; 你试试
      

  2.   

    <html>
    <head>
    <script type="text/javascript">
    function q()
    {
    document.getElementById('a1').innerHTML = '我的天啊';
    }
    </script>
    </head>
    <body>
    <a id="a1" href="a.php?m=bian" onclick="q();return ture;">点击我会有变化啊。</a>
    </body>
    </html>
    <?php
    echo $_GET['m'];
    ?>
      

  3.   

    你要什么效果?
    <html>
    <head>
    <script type="text/javascript">
    function q()
    {
    document.getElementById('a1').innerHTML = '我的天啊';
    return true;
    }
    </script>
    </head>
    <body>
    <a id="a1" href="a.php?m=bian" onclick="q()" target="_blank">点击我会有变化啊。</a>
    </body>
    </html>
      

  4.   

    一点击页面就重定向了,根本看不到结果吧,#3的方法没错,你把 return true改成 return false就看到结果了
    这里的 onclick="q();return ture;"改成onclick="q();return false;" 页面也不会重定向了
      

  5.   

    每位朋友的回复,我都会认真测试。但都不行。我要的效果就是:以上代码每一句全部都能正常执行。也就是能够输出:我的天啊 bin如何改以上代码呢?我觉得我的问题已经说得非常明白了。请给予关键性的准确的指点。
      

  6.   

    修正一个楼上的:正确输出就应该是:我的天啊  bian
      

  7.   

    <a id="a1" href="a.php?m=bian" onclick="q();return false;">点击我会有变化啊。</a>或者function q()
    {
    document.getElementById('a1').innerHTML = '我的天啊';
    return false;
    }这个return false你可以理解为php的die,也就是程序执行到这里之后结束了,不再进行下去了, 也就是说跳转到href去的这个process不会被执行了.你要同时输出我的天啊和bian,其实是不太可能的,你要显示bian,页面必然跳转,跳转后js 的东西自然没有了.为什么不把bian作为a的id,而a1作为class呢?比如 
    <a class="a1" id="bian" href="#" onclick="q();return false;">点击我会有变化啊。</a>function q(){
    var m = document.getElementByClass('a1').id; //不确定是不是这样写,类似jquery的 $(".a1").attr("id");
    document.getElementByClass('a1').innerHTML = '我的天啊';
    document.getElementById('show').innerHTML = m; //将bian显示到id为show的div里
    return false;
    }
    然后在页面里做一个 id为show的div用来显示bian就行了
    代码,不确定是不是对的,一直用jquery,纯js没怎么写过,但是思路就是这样了.
      

  8.   

    <?php 
    if ($_GET[m]){
    echo "<span>我的天啊".$_GET[m]."</span>";
    }else {
    echo "<a id='a1' href='a.php?m=bian'>点击我会有变化啊。</a>";
    }
    ?>有点想不通  为什么你要做这种效果 ,实现的办法好多的啊  php 或纯js
      

  9.   

    楼上这位兄弟说的对,要么纯php要么纯js,请问楼主两样都要用是出于什么特殊原因吗?
      

  10.   

    其实这个问题很简单,只需要一点修改即可,代码如下:<html>
    <head>
    <script type="text/javascript">
    function q()
    {
    document.getElementById('a1').innerHTML = '我的天啊';return false;
    }
    </script>
    </head>
    <body>
    <a id="a1" href="a.php?m=bian" onclick="return q();">点击我会有变化啊。</a>
    </body>
    </html>
    <?php
    echo $_GET['m'];
    ?>
      

  11.   

    onclick里的内容必须要正确运行完而且返回true href的内容才会生效
      

  12.   

    <html>
    <head>
    <script type="text/javascript">
    function q()
    {
    document.getElementById('a1').innerHTML = '我的天啊';
    return false;
    }
    </script>
    </head>
    <body>
    <a id="a1" href="test.php?m=bian" onclick="return q();">点击我会有变化啊。</a>
    </body>
    </html>
    <?php
    echo $_GET['m'];
    ?>这是楼上的代码,你们自已真正的试过了吗?还是想当然。根本达不到预期的效果。
      

  13.   

    以下代码再次分别在:ff和ie8中测试。根本达不到效果。
    以下代码点击后的效果是:我的天啊。
    我需要的效果是:我的天啊  bian<html>
    <head>
    <script type="text/javascript">
    function q()
    {
    document.getElementById('a1').innerHTML = '我的天啊';
    return false;
    }
    </script>
    </head>
    <body>
    <a id="a1" href="test.php?m=bian" onclick="return q();">点击我会有变化啊。</a>
    </body>
    </html>
    <?php
    echo $_GET['m'];
    ?>
      

  14.   

    如果不想点击后跳转,那么执行函数之后必须返回 false!
      

  15.   

    <html>
    <head>
    <script type="text/javascript">
    function q()
    {
    document.getElementById('a1').innerHTML = '我的天啊';
    }
    </script>
    </head>
    <body>
    <a id="a1" href="a.php?m=bian" onmousedown="q()">点击我会有变化啊。</a>
    </body>
    </html>
    <?php
    if(isset($_GET['m']))echo $_GET['m'];
    ?>
      

  16.   

    不知道楼主要干什么
    1.显示我的天啊后跳转
    2.显示我的天啊后不跳转
    3.不显示我天啊但跳转其实楼主的代码两个都执行了,只不过onclink执行后紧接着就执行href了而已