2009-08-25 97 views
0

是否有无法链接到页面的另一部分(<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

粘贴实际的html代码可能会有帮助。 – 2009-08-25 16:59:14

回答

4

绝不应该刷新如果一个正常的#LINK。也许你正在抓住JavaScript的链接,这使得它变得疯狂?也许回报是错误的;将有所帮助。

另外检查您是否没有添加www。或者把它拿走或者只是在http和https之间切换。

+0

该死的@Thomaschaaf!快52秒! – voyager 2009-08-25 16:35:45

+0

只链接到“#link”否www。或http(s)。 – 2009-08-25 17:50:33

0

我会确保在创建链接时不包括URL的其余部分,因为您可能会指定一个稍微不同的URL,因为需要向服务器发送新的请求。

+0

只有链接到“#这个”没有别的。 – 2009-08-25 17:51:04