当在php中点击按钮时,如何阻止页面滚动到顶部?

时间:2016-08-16 20:55:35

标签: javascript html

如果点击按钮添加到购物车,如何停止页面滚动到顶部? 因为我有很多产品从数据库显示到我的页面,所以刷新“index.php”到顶部让我感到沮丧。 顺便说一下,我正在学习本教程http://www.onlinetuting.com/e-commerce-website-in-php-mysqli-video-tutorials/

PS:我是初学者,所以请帮我一个例子(放置代码的行对我来说很重要)。

// index.php(仅限短代码)

<!doctype html>
<?php
include ("functions/functions.php");
?>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="styles/style.css" type="text/css" media="all" />
<script src="js/jquery-3.0.0.min.js"></script>
</head>

<body>
<div class="container">
    <div class="header"></div>

    <div class="navigation">
        <div> <?php getCats(); ?> <?php getBrands(); ?> </div>
        <div> </div>
        <div id="shopping_cart"> <a href="cart.php">Go to Cart</a> <?php total_items(); ?> <?php total_price(); ?> </div>
    </div>

    <div id="content">
        <?php cart(); ?>
        <div id="products"> <?php getPro(); ?> <?php getCatPro(); ?> <?php getBrandPro(); ?> </div>
    </div>

    <div id="footer"></div>
</div> <!--END OF "container" -->
</body>

</html>

// function.php

<?php
$con = mysqli_connect("localhost","root","","learning-php");
if (mysqli_connect_errno())
  {
   echo "The connection was not established: " . mysqli_connect_error();
  }

//Creating the shopping cart
    function cart(){
    if(isset($_GET['add_cart'])){
        global $con;
        $ip = getIp();
        $pro_id = $_GET['add_cart'];
        $check_pro = "select * from cart where ip_add='$ip' AND p_id='$pro_id'";
        $run_check = mysqli_query($con, $check_pro);
        if(mysqli_num_rows($run_check)>0){  
        }
        else {
        $insert_pro = "insert into cart (p_id,ip_add) values ('$pro_id','$ip')";
        $run_pro = mysqli_query($con, $insert_pro);
        echo "<script>window.open('index.php','_self')</script>";   
        }
    }   
    }


    //Getting the total added items
    function total_items(){
        if(isset($_GET['add_cart'])){
            global $con;
            $ip = getIp();
            $get_items = "select * from cart where ip_add='$ip'";
            $run_items = mysqli_query($con, $get_items);
            $count_items = mysqli_num_rows($run_items);
            }
            else {
            global $con;
            $ip = getIp();
            $get_items = "select * from cart where ip_add='$ip'";
            $run_items = mysqli_query($con, $get_items);
            $count_items = mysqli_num_rows($run_items);
            }
        echo $count_items;
        }


    //Getting the total price of the items in the cart
    function total_price(){     
        $total = 0;
        global $con;
        $ip = getIp();  
        $sel_price = "select * from cart where ip_add='$ip'";   
        $run_price = mysqli_query($con, $sel_price);    
        while($p_price=mysqli_fetch_array($run_price)){
            $pro_id = $p_price ['p_id'];
            $pro_price = "select * from products where product_id='$pro_id'";
            $run_pro_price = mysqli_query($con,$pro_price);
            while($pp_price = mysqli_fetch_array($run_pro_price)){  
            $product_price = array($pp_price['product_price']);
            $values = array_sum($product_price);
            $total +=$values;
            }           
        }       
        echo "$ " . $total;     
    }


    //Getting the categories
    function getCats(){
        global $con;
        $get_cats = "select * from categories";
        $run_cats = mysqli_query($con, $get_cats);
        while ($row_cats=mysqli_fetch_array($run_cats)){
            $cat_id = $row_cats['cat_id'];
            $cat_title = $row_cats['cat_title'];
        echo "<li><a href='index.php?cat=$cat_id'>$cat_title</a></li>";
        }
    }


    //Getting the brands
    function getBrands(){
        global $con;
        $get_brands = "select * from brands";
        $run_brands = mysqli_query($con, $get_brands);
        while ($row_brands=mysqli_fetch_array($run_brands)){
            $brand_id = $row_brands['brand_id'];
            $brand_title = $row_brands['brand_title'];
        echo "<li><a href='index.php?brand=$brand_id'>$brand_title</a></li>";
        }
    }


    //Showing the products
    function getPro(){
        if(!isset($_GET['cat'])){
            if(!isset($_GET['brand'])){

        global $con;
        $get_pro = "select * from products";
        $run_pro = mysqli_query($con, $get_pro);
        while ($row_pro=mysqli_fetch_array($run_pro)){
            $pro_id = $row_pro['product_id'];
            $pro_cat = $row_pro['product_cat'];
            $pro_brand = $row_pro['product_brand'];
            $pro_title = $row_pro['product_title'];
            $pro_price = $row_pro['product_price'];
            $pro_image = $row_pro['product_image'];

            echo "
                    <div id='products'>
                        <h3>$pro_title</h3>
                        <img src='admin_area/product_images/$pro_image' width='135' height='100'/>
                        <div class='details'>
                          <p><div id='prc'>Price:</br><b>$. $pro_price </b></div></p>
                          <p><div id='a2c'><a href='?add_cart=$pro_id'><button style='float:left;'>Add to Cart</button></a></div></p>                     
                          <p><div id='fDtl'><a href='full_details.php?pro_id=$pro_id' style='float:left;'>Full Details</a></div></p>
                        </div>
                    </div>
            ";
        }
        }
    }
    }

    //Showing the products by categories
    function getCatPro(){bla,bla,bla}

    //Showing the products by brands
    function getBrandPro(){bla,bla,bla}

?>

//我的意思是这一行(function.php) DIV#A2C

//影响到这一行(index.php) DIV#产品

See What i mean

2 个答案:

答案 0 :(得分:0)

通过调用preventDefault覆盖默认表单提交并将操作作为ajax调用调用。确保脚本已加载,如将其放在头部

参考这个例子:

var element = document.querySelector("form");
element.addEventListener("submit", function(event) {
  event.preventDefault();
  // actual logic, e.g. validate the form
  alert("Form submission cancelled.");
});
<form>
  <button type="submit">Submit</button>
</form>

答案 1 :(得分:0)

以下是http://www.tutorialspoint.com/jquery/events-preventdefault.htm的完整示例:

<html>

   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $("a").click(function(event){
               event.preventDefault();
               alert( "Default behavior is disabled!" );
            });
         });
      </script>
   </head>

   <body>
      <span>Click the following link and it won't work:</span>
      <a href = "http://www.google.com">GOOGLE Inc.</a>
   </body>

</html>