3

広範なjQueryを含むホームページがあります...タブのクリックなどに基づいてdivを非表示および表示します。表示されたdiv内には、ポストバックして新しいページを取得する他のページへのリンクがあります。

ユーザーがページをクリックしたときにページの前の状態に戻るために、ページの「戻る」ボタンが必要です。そのため、リンクをクリックしたときに [Sell_your_books] タブが表示され、選択されていた場合は、Sell_your_books div[Sell_your_books] タブが表示され、選択された状態でホームページに戻るボタンがSell_your_books div必要です。

PHPでこれを実現するには、ホームページへの変数を解析(POST)する必要があることはわかっていますが、それを実装する正しい方法がわかりません。

ありがとう

4

2 に答える 2

0

非表示の入力フィールドを作成し、これに現在アクティブなタブを入力します。

<form>
 ..
 <input type="hidden" name="currentTab" value="" />

</form>

正しい値を設定するためのちょっとした jQuery:

$( YOUR TAB SELECTOR ).on('click', function() { 
 $('input[name=currentTab]').val( $(this).attr('id') ); 
});

データを処理する PHP スクリプトでは、次のように戻るリンクを作成できます。

<?php

 if( isset($_POST['currentTabe']) && $_POST['currentTab'] != '' ) {
   $backLink = "your_page.php?tab=" . $_POST['currentTab'];
 }

?>

バックリンクを介してタブを使用してサイトを呼び出す場合は、追加の document.ready イベントを作成できます。これにより、アクティブなタブが PHP $_GET パラメーターに設定されます。

<script type="text/javascript">
 <?php
  if( isset($_GET['tab']) && $_GET['tab'] != '' ) {
 ?>
  jQuery(document).ready( function() {

   var tab = $('#'+ <?=htmlspcialchars( $_GET['tab'] )?>);
   if( tab.length <= 0 ) return false; //element not found

   //active tab
   tab.toggle('click'); //click or do something else to activate the current tab

  });
 <?php 
  }
 ?>
</script>

注意: XSS (クロスサイトスクリプティング) に注意してください。正しい値については $_POST と $_GET を確認してください。

于 2013-06-19T10:15:39.547 に答える