-Every time I click on "submit", it brings me straight back to top. 
Yes that is what default functionality when submitting forms, it always repaints the dom so it causes a jump and page's top position is rendered.  
-which creates a poor user experience because the user would have to scroll back down where he was browsing the products 
To make a good user experience you can use ajax for this functionality, as you tagged jQuery in your question then you can try with jquery ajax:
$('form').submit(function(e){
    e.preventDefault(); // stops the form submission
    $.ajax({
      url:$(this).attr('action'), // action attribute of form to send the values
      type:$(this).attr('method'), // method used in the form
      data:$(this).serialize(), // data to be sent to php
      dataType:"text",
      success:function(data){
          alert(data); // you can alert the success message.
      },
      error:function(err){
          console.log(err);
      }
    });
});
I have used a dataType:"text", just assuming if you are going to echo "Added in the cart."; kind of message from the php.