Получить # ссылку, чтобы не обновлять страницу? - PullRequest
0 голосов
/ 25 августа 2009

Можно ли в любом случае получить ссылку на другую часть вашей страницы (<a href="#link">), чтобы не обновлять страницу? Иногда он не обновляет страницу, а иногда - Это проблема, так как у меня также есть эта ссылка, делающая некоторые 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 ]

4 голосов
/ 25 августа 2009

Он никогда не должен обновляться, если это обычная ссылка #. Может быть, вы ловите ссылку с помощью JavaScript, который сводит ее с ума? Возможно возвращение ложного; поможет.

Также убедитесь, что вы не добавляете www. или убираем его или просто переключаемся между http и https.

0 голосов
/ 25 августа 2009

Я бы удостоверился, что когда вы создаете ссылку, в которую вы не включили остальную часть URL-адреса, возможно, вы указываете немного другой URL-адрес, который рассматривается как требующий нового запроса к серверу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...