【问题标题】:Navigating back from second page to first php page not showing correct divs in first page从第二页导航回第一个 php 页面没有在第一页显示正确的 div
【发布时间】:2014-04-20 00:26:53
【问题描述】:

我有第一个 php 页面,其中有一些复选框。我选择页面中存在的复选框和 div 被过滤,过滤后,我单击一个 div 并导航到第二个 php 页面。我在其中显示详细信息产品。但是当我从浏览器按下后退按钮并导航到第一页时。我遇到的问题是当我导航回上一页时,已选中的复选框仅被选中,但未过滤 div。

首页.php

    <html>
    <head>
    <title>Insert title here</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    </head>
    <body>

    <script type="text/javascript">
        function get_check_value() {
            var c_value = [];

            $('input[name="brand"]:checked').each(function () {
                c_value.push(this.value);
            });
            return c_value.join(',');

        }
        function get_store_value(){
        var d_value=[];
            $('input[name="store"]:checked').each(function () {
                d_value.push(this.value);
            });
            return d_value.join(',');
            }

    $(document).ready(function(){
   checkboxValidate = function (e) {
   if(e)e.preventDefault();
    alert("hi");
        //var os = $('#originState').val();
       //var c = $('#commodity').val();
        //var ds = $('#destState').val();
        var ser = get_check_value();
        var store=get_store_value();
        //var queryString = "os=" + os;
        var data = "?ser=" + ser;
        var queryString = "&ser=" + ser;
        alert(ser);
       $.ajax({
       //alert("ajax");
        type: "POST",
        url: "sortingajax.php",
        data: {ser:ser,store:store},
        dataType :  'html',
        success: function (b) {
           // alert(a+' ok. '+b)
            $('#results').html(b);
            console.log(b);
        }
    });

    } 
    $( "[type=checkbox]" ).change(checkboxValidate);
    checkboxValidate
});
    </script>


    brand
        <input type="checkbox" name="brand" value="Sunbaby" id="check" />Sunbaby
        <br/>
        <input type="checkbox" name="brand" value="Advance Baby" id="check"/>Advance Baby
        <br/>
        store
        <br/>
        <input type="checkbox" name="store" value="Flipkart" id="check"/>Flipkart
        <br/>
        <input type="checkbox" name="store" value="Supermart" />Suoermart
        <br/>
        <input type="checkbox" name="store" value="Target" />Target
        <br/>


    <button id="btnSubmit">sort</button>
    <?php
    $secondsql ='SELECT * FROM xml WHERE  ('.implode ('AND',$parts).')limit '.$offset.', '.$limit1.'';
    //print($secondsql);
    $sql2=mysql_query($secondsql);
    $nameArray2=array();
    //echo "<br />";
    //echo $numrows;
    while($row = mysql_fetch_array($sql2)) {
        // Append to the array


        $nameArray2[] = $row;



        //echo $row['PID']."<BR />";
    }

    foreach($nameArray2 as $array)
    {$i = 1;
    ?>
    <div>
    <a href="secondpage.php?name=<?php $array['IMAGEURL']?>">iMAGELINK</a></div>
    <?php
    }
    $i++;
    ?>

    <div id="results">
    </div>
    </body>
    </html>

sortingajax.php

 <?php

include('connection.php');
$query=$_POST['ser'];
$query1=$_POST['store'];
echo $query;
echo $query1;

$query=explode(",",$query);
$query = array_filter($query);
$query1=explode(",",$query1);
$query1 = array_filter($query1);
$result=count($query);
$result1=count($query1);
//echo $result;
echo $result1;
$parts = array();
$limit = 10;
    $offset = 0;
if(!empty($query))
{
foreach( $query as $queryword ){
    $parts[] = '`BRAND` LIKE "%'.$queryword.'%"';

}
$brandsql='SELECT * FROM XML WHERE  ('.implode ('OR',$parts).')  order by price asc';
    $brandsql1=mysql_query($brandsql);
$numrows = mysql_num_rows($brandsql1);  
$countArray=array();
print($brandsql);
echo "<br />";
while($row = mysql_fetch_array($brandsql1)) {
    // Append to the array


    $countArray[] = $row;



    //echo $row['PID']."<BR />";
}
}
$parts1=array();
if(!empty($query1)){
foreach( $query1 as $queryword1 ){
    $parts1[] = '`STORE` LIKE "%'.$queryword1.'%"';

}
$storesql='SELECT * FROM XML WHERE  ('.implode ('OR',$parts1).') order by price desc';
    $storesql1=mysql_query($storesql);
$numrows1 = mysql_num_rows($storesql1); 
$countArray=array();
print($storesql);
while($row = mysql_fetch_array($storesql1)) {
    // Append to the array


    $countArray[] = $row;



    //echo $row['PID']."<BR />";
}
}
?>


<?php
foreach($countArray as $array)
{



?>

<div>
<a href="secondpage.php?name=<?php $array['IMAGEURL']?>">iMAGELINK</a></div>

<?php $i++; } ?>

第二个php页面

<?php
$IMAGE=$_GET['name'];
?>
<html>
<head>
</head>
<body>
<img src="<?php echo $IMAGE?>"/>
</body>
</html>

在第一页中,当我选中任何复选框时,页面中存在的 ajax 调用图像链接被过滤。然后我单击任何链接并将其传递到第二个 php 页面。显示图像。但是当我按下返回按钮时,然后转到第一页。它检查了复选框,但未过滤 div .. 请帮我解决这个问题。如果需要更多信息,请发表评论。

【问题讨论】:

  • 这是因为您正在使用 javascript onclick 或 onchange 进行过滤...您也需要在 DOM 准备好后运行相同的脚本...
  • @Salketer-我没听懂..你能详细说明我需要改变什么吗?
  • 我需要在哪里修改脚本...

标签: javascript php jquery html css


【解决方案1】:

用这个替换你的准备函数:

$(document).ready(function(){
   checkboxValidate = function (e) {
   if(e)e.preventDefault();
    alert("hi");
        //var os = $('#originState').val();
       //var c = $('#commodity').val();
        //var ds = $('#destState').val();
        var ser = get_check_value();
        var store=get_store_value();
        //var queryString = "os=" + os;
        var data = "?ser=" + ser;
        var queryString = "&ser=" + ser;
        alert(ser);
       $.ajax({
       //alert("ajax");
        type: "POST",
        url: "sortingajax.php",
        data: {ser:ser,store:store},
        dataType :  'html',
        success: function (b) {
           // alert(a+' ok. '+b)
            $('#results').html(b);
            console.log(b);
        }
    });

    } 
    $( "[type=checkbox]" ).change(checkboxValidate);
    checkboxValidate();
});

请注意,这里的技巧是在复选框值更改时进行过滤。但是当您打开页面并且复选框已经被选中时,您需要再次运行相同的脚本进行过滤。

【讨论】:

  • 我编辑了代码,就像你向好友展示的那样,但是当我从第二页导航回第一页时。记录没有根据开始时选中的复选框进行过滤。我已经根据更新了我的代码你的变化..请检查先生哪里错了....
  • 非常抱歉,我犯了一个错误,这应该可以解决它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多