2009-08-25 95 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