2015-07-21 28 views
0

我點擊一個簡單的添加到購物車按鈕添加一個項目到購物車,如果該項目已經存在,它會給出錯誤item already。一切順利,但是當我第二次點擊按鈕時,我必須關閉警告框兩次,第三次我點擊,我必須關閉警報框三次等等......這一直持續到我刷新頁面,並同樣的事情從頭alert()框在jquery中出現多次

jQuery代碼開始:

function add() 
     { 
     $(document).ready(function() 
     { 
     $('#addtocart').submit(function() { 
      //$('#add-button').prop('disabled',true); 
    var user = $('#user').val(); 
      var pid = $('#pid').val(); 
     $.ajax({ 
     type:  "post", 
     url:  "/devilmaycry/register?action=addtocart", 
     data:  {pid:pid ,user:user}, 
     success:  
        function() 
        { 
          alert("Item has been added to cart"); 
       }, 
        error: 
        function(xhr) 
        { 
         if (xhr.responseText=="already present") 
          alert("item is already present in cart"); 

         else if(xhr.responseText=="error") 
          alert("item cannot be added , server error"); 
       } 
       }); 
       return false; 
    //e.preventDefault(); 
    }); 

     }); 
     } 

servlet代碼:

if(n.equals("addtocart")) 
    { 
     String user = req.getParameter("user"); 
     int pid = Integer.parseInt(req.getParameter("pid")); 

     k=o.addintocart(user,pid); 

    if(k==2) 
     { 
     res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); 
     pw.write("already present"); 
     } 
    else if(k==0) 
     { 
     res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); 
     pw.write("error"); 
     } 
    } 

錯誤或成功的BEHA vior相同

+3

檢查你的add方法是否被多次調用?最有可能的錯誤是你配置事件觸發添加的地方 –

+0

thnks man,得到了ans ...我使用'onclick()'和'$(' addtocart')。同時提交(function()',我的不好 –

回答

0

完成submit.It後就可以使用它,它將關閉點擊事件。

$("#addtocart").off('click'); 
1

你只需要不需要這種

$(document).ready(function() { 
$('#addtocart').submit(function() { 
    //$('#add-button').prop('disabled',true); 
    var user = $('#user').val(); 
    var pid = $('#pid').val(); 
    $.ajax({ 
     type: "post", 
     url: "/devilmaycry/register?action=addtocart", 
     data: { 
      pid: pid, 
      user: user 
     }, 
     success: function() { 
      alert("Item has been added to cart"); 
     }, 
     error: function(xhr) { 
      if (xhr.responseText == "already present") 
       alert("item is already present in cart"); 

      else if (xhr.responseText == "error") 
       alert("item cannot be added , server error"); 
     } 
    }); 
    return false; 
    //e.preventDefault(); 
});}); 

沒有其他的事件處理程序。