Update Cart Page by Ajax on quantity changeUpdate quantity of products in cart to the max available if...

A link redirect to http instead of https: how critical is it?

Employee lack of ownership

how to draw discrete time diagram in tikz

Are there other languages, besides English, where the indefinite (or definite) article varies based on sound?

Did Ender ever learn that he killed Stilson and/or Bonzo?

What are substitutions for coconut in curry?

What approach do we need to follow for projects without a test environment?

Have researchers managed to "reverse time"? If so, what does that mean for physics?

Is it true that good novels will automatically sell themselves on Amazon (and so on) and there is no need for one to waste time promoting?

How to read the value of this capacitor?

Why one should not leave fingerprints on bulbs and plugs?

Who is flying the vertibirds?

Co-worker team leader wants to inject his friend's awful software into our development. What should I say to our common boss?

Can a druid choose the size of its wild shape beast?

Do the common programs (for example: "ls", "cat") in Linux and BSD come from the same source code?

What did Alexander Pope mean by "Expletives their feeble Aid do join"?

How can you use ICE tables to solve multiple coupled equilibria?

Min function accepting varying number of arguments in C++17

Professor being mistaken for a grad student

AG Cluster db upgrade by vendor

Can I use USB data pins as power source

If curse and magic is two sides of the same coin, why the former is forbidden?

Why do passenger jet manufacturers design their planes with stall prevention systems?

How to explain that I do not want to visit a country due to personal safety concern?



Update Cart Page by Ajax on quantity change


Update quantity of products in cart to the max available if quantity entered is greater thanTrying to run an AJAX script from the admin area in magentoRemoving Items from the cart doesn't update the ajax cartGet the magento cart quantity with ajaxUpdate cart using Ajax Magento not working?product quickview not working with infinite scrollMagento 2: How to create custom ui_component form to submit data by ajaxAjax cart validation on change qtyMagento 2 cart event observers not redirecting correctlyCant Access a Value on Input or Button with type Submit













1















I have to update the main cart on change of quantity by Ajax without click on "Update Cart Button" and without reloading the page.

By the following code, I'm able to update cart table but m not getting a solution to update the "Cart Summary" block.



<script>
require(['jquery', 'Magento_Customer/js/customer-data',
'jquery/jquery-storageapi'], function ($) {
// $("#submitbutton").hide();
var form = $('form#form-validate');
var qtyfields = $('input.qty');
$('.page.messages').each(function () {
var thismessage = $(this);
thismessage.attr('id', 'messages');
});

form.find(qtyfields).each(function (e) {
var thisfield = $(this);
$(this).change(function () {
console.log('change detected');
form.submit();
});

});
form.on('submit', function (e) {
e.preventDefault();
$.ajax({
url: form.attr('action'),
data: form.serialize(),
type: 'post',
success: function (res) {
var parsedResponse = $.parseHTML(res);
var result = $(parsedResponse).find("#form-validate");
$("#form-validate").replaceWith(result);
//console.log(result);
//location.reload();
},
error: function () {
console.log('error');
}
});
console.log('form submitted');
});
});
</script>


Please give me some solution.










share|improve this question





























    1















    I have to update the main cart on change of quantity by Ajax without click on "Update Cart Button" and without reloading the page.

    By the following code, I'm able to update cart table but m not getting a solution to update the "Cart Summary" block.



    <script>
    require(['jquery', 'Magento_Customer/js/customer-data',
    'jquery/jquery-storageapi'], function ($) {
    // $("#submitbutton").hide();
    var form = $('form#form-validate');
    var qtyfields = $('input.qty');
    $('.page.messages').each(function () {
    var thismessage = $(this);
    thismessage.attr('id', 'messages');
    });

    form.find(qtyfields).each(function (e) {
    var thisfield = $(this);
    $(this).change(function () {
    console.log('change detected');
    form.submit();
    });

    });
    form.on('submit', function (e) {
    e.preventDefault();
    $.ajax({
    url: form.attr('action'),
    data: form.serialize(),
    type: 'post',
    success: function (res) {
    var parsedResponse = $.parseHTML(res);
    var result = $(parsedResponse).find("#form-validate");
    $("#form-validate").replaceWith(result);
    //console.log(result);
    //location.reload();
    },
    error: function () {
    console.log('error');
    }
    });
    console.log('form submitted');
    });
    });
    </script>


    Please give me some solution.










    share|improve this question



























      1












      1








      1








      I have to update the main cart on change of quantity by Ajax without click on "Update Cart Button" and without reloading the page.

      By the following code, I'm able to update cart table but m not getting a solution to update the "Cart Summary" block.



      <script>
      require(['jquery', 'Magento_Customer/js/customer-data',
      'jquery/jquery-storageapi'], function ($) {
      // $("#submitbutton").hide();
      var form = $('form#form-validate');
      var qtyfields = $('input.qty');
      $('.page.messages').each(function () {
      var thismessage = $(this);
      thismessage.attr('id', 'messages');
      });

      form.find(qtyfields).each(function (e) {
      var thisfield = $(this);
      $(this).change(function () {
      console.log('change detected');
      form.submit();
      });

      });
      form.on('submit', function (e) {
      e.preventDefault();
      $.ajax({
      url: form.attr('action'),
      data: form.serialize(),
      type: 'post',
      success: function (res) {
      var parsedResponse = $.parseHTML(res);
      var result = $(parsedResponse).find("#form-validate");
      $("#form-validate").replaceWith(result);
      //console.log(result);
      //location.reload();
      },
      error: function () {
      console.log('error');
      }
      });
      console.log('form submitted');
      });
      });
      </script>


      Please give me some solution.










      share|improve this question
















      I have to update the main cart on change of quantity by Ajax without click on "Update Cart Button" and without reloading the page.

      By the following code, I'm able to update cart table but m not getting a solution to update the "Cart Summary" block.



      <script>
      require(['jquery', 'Magento_Customer/js/customer-data',
      'jquery/jquery-storageapi'], function ($) {
      // $("#submitbutton").hide();
      var form = $('form#form-validate');
      var qtyfields = $('input.qty');
      $('.page.messages').each(function () {
      var thismessage = $(this);
      thismessage.attr('id', 'messages');
      });

      form.find(qtyfields).each(function (e) {
      var thisfield = $(this);
      $(this).change(function () {
      console.log('change detected');
      form.submit();
      });

      });
      form.on('submit', function (e) {
      e.preventDefault();
      $.ajax({
      url: form.attr('action'),
      data: form.serialize(),
      type: 'post',
      success: function (res) {
      var parsedResponse = $.parseHTML(res);
      var result = $(parsedResponse).find("#form-validate");
      $("#form-validate").replaceWith(result);
      //console.log(result);
      //location.reload();
      },
      error: function () {
      console.log('error');
      }
      });
      console.log('form submitted');
      });
      });
      </script>


      Please give me some solution.







      cart ajax magento-2.1.7






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 3 mins ago









      magefms

      1,588225




      1,588225










      asked Aug 29 '17 at 12:17









      MagecodeMagecode

      519421




      519421






















          2 Answers
          2






          active

          oldest

          votes


















          0














          Thank you for your Answer, but this code only will submit once if call the



          $("#form-validate").replaceWith(result);


          And Ajax returning a whole HTML page for the result, is there any way to just get back small string of a JSON data set instead?






          share|improve this answer

































            0














            use this one. its works fine for me




            • var parsedResponse = jQuery.parseHTML(res);

            • var result = jQuery(parsedResponse).find(".subtotal");

            • var result1 = jQuery(parsedResponse).find(".message");

            • jQuery(".subtotal").replaceWith(result);

            • jQuery(".message").replaceWith(result1);






            share|improve this answer























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "479"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f191045%2fupdate-cart-page-by-ajax-on-quantity-change%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              0














              Thank you for your Answer, but this code only will submit once if call the



              $("#form-validate").replaceWith(result);


              And Ajax returning a whole HTML page for the result, is there any way to just get back small string of a JSON data set instead?






              share|improve this answer






























                0














                Thank you for your Answer, but this code only will submit once if call the



                $("#form-validate").replaceWith(result);


                And Ajax returning a whole HTML page for the result, is there any way to just get back small string of a JSON data set instead?






                share|improve this answer




























                  0












                  0








                  0







                  Thank you for your Answer, but this code only will submit once if call the



                  $("#form-validate").replaceWith(result);


                  And Ajax returning a whole HTML page for the result, is there any way to just get back small string of a JSON data set instead?






                  share|improve this answer















                  Thank you for your Answer, but this code only will submit once if call the



                  $("#form-validate").replaceWith(result);


                  And Ajax returning a whole HTML page for the result, is there any way to just get back small string of a JSON data set instead?







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Oct 20 '17 at 23:23









                  Aasim Goriya

                  3,9671938




                  3,9671938










                  answered Oct 20 '17 at 17:25









                  Harry AliveHarry Alive

                  487




                  487

























                      0














                      use this one. its works fine for me




                      • var parsedResponse = jQuery.parseHTML(res);

                      • var result = jQuery(parsedResponse).find(".subtotal");

                      • var result1 = jQuery(parsedResponse).find(".message");

                      • jQuery(".subtotal").replaceWith(result);

                      • jQuery(".message").replaceWith(result1);






                      share|improve this answer




























                        0














                        use this one. its works fine for me




                        • var parsedResponse = jQuery.parseHTML(res);

                        • var result = jQuery(parsedResponse).find(".subtotal");

                        • var result1 = jQuery(parsedResponse).find(".message");

                        • jQuery(".subtotal").replaceWith(result);

                        • jQuery(".message").replaceWith(result1);






                        share|improve this answer


























                          0












                          0








                          0







                          use this one. its works fine for me




                          • var parsedResponse = jQuery.parseHTML(res);

                          • var result = jQuery(parsedResponse).find(".subtotal");

                          • var result1 = jQuery(parsedResponse).find(".message");

                          • jQuery(".subtotal").replaceWith(result);

                          • jQuery(".message").replaceWith(result1);






                          share|improve this answer













                          use this one. its works fine for me




                          • var parsedResponse = jQuery.parseHTML(res);

                          • var result = jQuery(parsedResponse).find(".subtotal");

                          • var result1 = jQuery(parsedResponse).find(".message");

                          • jQuery(".subtotal").replaceWith(result);

                          • jQuery(".message").replaceWith(result1);







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Dec 14 '17 at 6:31









                          HansuHansu

                          13




                          13






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Magento Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f191045%2fupdate-cart-page-by-ajax-on-quantity-change%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown