点击链接应该在同一页面显示结果.BACK和REFRESH按钮必须正常工作

时间:2013-07-24 15:33:27

标签: php jquery

基本上在我的网页(fields.php)中,我有两个文本框(X和Y),一个提交按钮和2个DIV标签(DIV id =“load”,DIV id =“result”)。根据我们提供的价值观 在文本框中,查询将从数据库中获取一些值并将其显示在DIV id =“load”中。此外,我已将结果显示为链接(我简单地说 使结果显示在锚标记之间)。所以这是我的问题,一旦我们点击DIV id =“load”中的任何链接,查询应该在后台运行 它应该在DIV id =“result”中显示一些类型的值(从数据库中获取)。 我想要的最重要的是,刷新/后退/前进按钮应该正常工作。 我的意思是,例如,考虑我们在DIV id =“load”中有4个链接,如wwww,xxxx,yyyy,zzzz。所以,如果我点击链接wwww,一些结果(由查询处理)应该得到 在DIV id =“result”中显示。所以现在,如果我点击xxxx,结果应该替换为wwww的结果。此外,如果我按下后退按钮,我应该看到结果 对于Dw id =“result”中的wwww。

有人可以帮我这个吗?任何人都可以提供示例代码。

这是我的代码:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>history plugin demo</title>
    </head>
    <body>
    <?php
        $x = ( !empty( $_REQUEST['X'] ) ? $_REQUEST['X'] : null );
        $y = ( !empty( $_REQUEST['Y'] ) ? $_REQUEST['Y'] : null );

    ?>
        Ajax load<BR>
            <form id="myForm" action='fields.php' method='GET' rel="history">
                X <BR>
                <input type="text" name="X" id="ix" value="<?=$x;?>"><BR> <BR>
                Y <BR>
                <input type="text" name="Y" id="iy" value="<?=$y;?>"> <BR> <BR>
                <input id="sub" type="submit" value="Search" align="centre"/>
            </form>
        <hr>
            <!-- here i am performing lot of database queries using php, but to show it to you, i have simplified the code!--> 
            <div id="load"><a href= "#")> <?php echo $x; ?> </a></div> <!-- so here whne i click on the link, i should pass the link as a text parameter to a  query  and display the result in div id= result IMPORTANT is : BACK AND REFRESH BUTTON SHOULD WORK AS NORMALLY !-->
            <div id="result"> </div>
        <hr>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

由于您需要保持后退按钮正常工作,即使单击后退按钮,也可以使用get参数显示结果。我建议你改变以下几行

<div id="load"><a href= "#")> <?php echo $x; ?> </a></div>
<div id="result"> </div>

<div id="load"><a href= "?link=<?php echo $x; ?>")> <?php echo $x; ?> </a></div>
<div id="result">
  <?php if (isset($_GET['link'])) {?>
  <!--do all the db related stuff here to fetch the link result-->
    <?php $link_clicked=$_GET['link'];?>
    <!--//this is my stuff-->
    <?php
      if ($link_clicked == 'link1') 
    echo "link1 results";
      else if ($link_clicked == 'link2')    
    echo "link2 results";
      else
    echo "no results";
    ?>
  <?php }?>
</div>

在结果div中,单击的链接是从$_GET获取的,并且可以从数据库中获取特定链接的结果。 如果要在单击页面刷新按钮上清除结果div,则可以使用javascript重写浏览器查询字符串。希望这会有所帮助:)