0

特定の年のデータを表示するページがあります。

ドロップダウン メニューを使用して、「何年見たいですか」などの簡単な質問をユーザーに尋ねたいと思います。

データセット (データベースから呼び出される) は、単一の変数によって定義されます$year

私の現在の解決策は、ユーザーとしてフォーム内で質問することです:

<form id="year" method="post" action="processing.php">  
    <select name="year" >
        <option value="2011">2011</option>
        <option value="2012" selected>2012</option>
        <option value="2013">2013</option>
    </select>
    <input type="submit" value="View Year" />

</form> 

ページ processing.php には、POST データが入力された単一の隠しフィールドがあり$_POST['year']、これを元のページに自動的に送信します。元のページは、processing.php から新しく受信した POST データを介して変数 $year を定義します。

processing.php ページのコード:

$year=$_POST['year'];

echo '
<div class="hide" >
    <form id="year" method="post" action="original_page.php">
        <input name="year" value="'.$year.'" />
        <input type="submit" onload="submitForm()" />
    </form>
</div>  


<script>
    function submitForm()
    {
     document.year.submit();
    }
</script>
';

質問1:これはこれを達成するための賢明な方法ですか?もっとエレガントにできることはありますか?

質問 2: 動作しません - ロード時に 2 番目のページから最初のページに戻りません。コードのどこが間違っていますか?

ありがとうございました!

4

1 に答える 1

0

あなたが話していると思うエレガントなAJAX方法は と呼ばれます。ページを切り替えることなく、サーバーからデータを取得できます。

これを参照してください: jQuery $.get 経由で AJAX を実装するコード

もちろん、processing.phpスクリプトは表示したいデータを取得し、それを HTML 形式で返す必要があります。これにより、コールバックがそれをretrieve_contents div$.getにドロップできるようになります。

于 2012-12-03T00:23:34.227 に答える