2016-07-23 6 views
0

作成したばかりの関数に問題があります。私はテーブル上の特定のユーザーに自動スクロールしようとしています。私のボタンを選択すると、ユーザーにスクロールしますが、前のページがリロードされます。AutoScrollが前のページにリダイレクトする理由

xxx.comにアクセスし、xxx.com/results_page.phpに移動するメニューを選択します。ここからxxx.com/results.phpに移動する別のリンクを選択します。ここから、自動スクロールボタンを選択します。このボタンを押すと、ページ上の正しい場所に移動してから、xxx.com/results_page.phpにリロードします。

私はこのスクリプトを友人からコピーしたので、どのように動作しているのか分かりません。 これは私のボタンです。壊れているので、現在無効にしています。

<tr> 
    <td colspan=2> 
     <button onclick="findUser()" title="Sorry, I'm still working on this." disabled>My Entry</button> 
    </td> 
</tr> 

これはページ上部の機能です。

<script type="text/javascript"> 
function findUser(){ 
    $(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top); 
} 
</script> 

ここで私が助けてくれるものを教えてください。必要に応じてテストページをセットアップすることができます。

テストページ Testing.daqspickem.com ログイン:ゲストハウス パス:ログイン後ユーザーレビュー

、testing.daqspickem.com/results.phpに行きます。ボタンはそのページにあります。 The results page The results pages

このコードは、私が探したいTDを設定する場所です。

switch ($user_names_display) 
    { 
      case 1: 
        echo '  <td>' . trim($tmpUser->firstname . ' ' . $tmpUser->lastname) . '</td>' . "\n"; 
        break; 
      case 2: 
        echo ' <td><img src="images/logos/' . trim($tmpUser->template_name) . '.gif" style="opacity: .8; width: 40px; height: 40px; margin-left: 0px; z-index: -1;" />' . trim($tmpUser->userName) . '</td>' . "\n"; 
        break; 
      default: //3 
        echo ' <td><img src="images/logos/' . trim($tmpUser->template_name) . '.svg" style="width="15px" height="15px" /><abbrev title="' . trim($tmpUser->userName) . '&#10;' . trim($tmpUser->firstname . ' ' . $tmpUser->lastname) . '">' . substr($tmpUser->userName, 0, 17) . '</abbrev> 
</td>' . "\n"; 
        break; 
    } 
+0

。あなたのスクリプトの目的ははっきりしていません。 jsのフィドルを設定することもできます。ありがとう – vbrmnd

+0

私は説明の目的を教えました。私は特定のユーザ( "td:contains( '<?php echo $ _SESSION [' loggedInUser '];?>'):last")をテーブルに自動スクロールしようとしています。私はボタンをクリックし、そのレコードにテーブルをスクロールしたいと思います。 – Daquiri

+0

テストページ付きの元の投稿を編集しました。 – Daquiri

答えて

0

これを試してみてください:

function findUser(e){ 
    e.preventDefault(); 
    $(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top); 
} 

それはデフォルトの機能です実行からhrefを防ぐため、これが動作します。

+0

問題が見つかりましたが、同じ問題です。私のテーブルを見ると、代わりにユーザー名が表示されます。最初:最後に、レコードが見つからない可能性があります。それが再ロードされますか? – Daquiri

0

私はここで

<script type="text/javascript"> 
function findUser(){ 
    $(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top); 
} 
</script> 

tdあなたが持っているインナーHTMLを参照している間、あなたの$_SESSION['loggedInUser']"Guest"が含まれている、問題は、このスクリプトである推測"guest"

この変更は、それを修正するだろうが、あなたは意志ユーザーがテーブルに存在しない状況を処理するためにフォールバックを設計する必要があります。

+0

あなたはここで私を失った、あなたはちょうど私が始めた同じコードを投稿した?どうすれば修正できますか? – Daquiri

0

私のボタンの周りにフォームを追加したところ、問題が修正されたようです。私は他のアイデアのために開いているだろうが、それは理想的ではないようだ。 Chromeはリフレッシュに問題があるようです。

 <form id="frmData" onsubmit="return false"> 
    <tr><td colspan = 2 > <button onclick="findUser()" title="Sorry, I'm still working on this." >My Entry</button></td> </tr></table> 
</form> 

テストページが間違いなく必要とされるであろう、そのスクリプト

<script type="text/javascript"> 
function findUser() 
{ 
$(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top); 

} 
</script>