2014-03-02 75 views
0

我的表單提交無法正常工作。返回變量一直是錯誤的。但$ .get()函數「countCart()」工作正常。所以必須迴歸真實與否?怎麼回事?jquery - 表單提交,「返回true」不起作用

$("#bestellung-dbr").submit(function() { 
    success = false; 

    if($("#agb").is(':checked') == false) { 
     alert("Bitte stimmen Sie unseren AGBs zu"); 
     success = false; 
    } else { 
     $.get("fileadmin/default/templates/scripts/emptyCart.ajax.php", function(result) { 
      success = true; 
      countCart(); 
     }); 
    } 

    return success; 
    }); 

Thx。 Marcel

回答

1

$ .get方法異步調用您的回調函數,這意味着代碼將在回調有機會將「success」設置爲true之前進入return語句 - 總是返回false。您可能需要重構代碼,以便提交函數始終返回false,然後讓您的回調進行下一步 - 無論是刷新DOM還是導航頁面等。

+0

謝謝您的快速解答! 當它永遠是假的我不能提交表格! 我沒有解決這個問題,但我找到了一個有用的解決方案。 我在我的$ .get()提交表單後做$ .post(「file.php」,$(「#form」)。serialize())。 不過,我有興趣解決主要問題。 –