获取#link不刷新页面?

时间:2009-08-25 16:32:17

标签: javascript html refresh

无论如何都要获取指向页面另一部分(<a href="#link">)的链接以不刷新页面?有时它不会刷新页面,有时则会刷新页面。这是一个问题,因为我也有链接对页面onclick执行一些javascript更改,然后在页面同时刷新时被删除。

有什么想法吗?

代码段:

<script type="text/javascript">
    function unhide(divID) {
        var item = document.getElementById(divID);
        if (item) {
            item.className=(item.className=='hidden')?'unhidden':'hidden';
        }
    }
        function unhidealways(divID){
               var item = document.getElementById(divID); 
               if(item){
                      item.className='unhidden';
               }        
        }
        function fillreply(commentID){
            var item = document.getElementById("replyto");
            item.value=commentID;
        }
        function hide(divID){
              var item = document.getElementById(divID); 
               if(item){
                      item.className='hidden';
               } 
              var item2 = document.getElementById("replyto");
              item2.value='';
        }
</script>

...

echo "<br /><span class=\"replytext\"><a href=\"#makecom\" onclick=\"javascript:unhidealways('makecomment');unhidealways('makereply');fillreply('" . $row['Id'] . "');\">[reply]</a></span><br />";

...

<td>
      <a name="makecom" />
      <a href="javascript:unhide('makecomment');"><i>Discuss</i></a>
      <div id="makecomment" class="hidden">
      <form name="commentform" action="comment.php" method="post">
        <div id="makereply" class="hidden">Reply to: <input type="text" size="6" name="replyto"/> <a href="javascript:hide('makereply');">[clear]</a></div>
        <input type="hidden" name="pageid" value="<?php echo $pageid; ?>" />
        <?php if(!$loggedin) 
             echo '<br /><a href="#TOP">Log In</a> or post as Anon<br /><br />';
             else
              echo '<br />';
        ?>
    <textarea name="comment" rows="7" cols="40" ></textarea>
    <input type="hidden" name="id" value="<?php echo $pageid; ?>" />
      <br />
    <input type="submit" value="Comment" />
    </form>
    </div>
</td></tr>

2 个答案:

答案 0 :(得分:4)

如果它是正常的#link,它永远不应该刷新。也许你正在抓住JavaScript的链接,这让它变得疯狂?也许回报是虚假的;会有所帮助。

同时检查您是否未添加www。或者取走它或者只是在http和https之间切换。

答案 1 :(得分:0)

我确保在您创建不包含其余网址的链接时,因为您可能指定了稍微不同的网址,因此需要向服务器发送新请求。